Обзор
`pgrep` фильтрует процессы по различным условиям, таким как имя процесса, идентификатор пользователя, терминал, идентификатор родительского процесса (PPID), и возвращает соответствующие PID. Это полезно для поиска и управления процессами или проверки их состояния в скриптах.
Основные функции
- Поддержка поиска на основе регулярных выражений
- Фильтрация процессов по пользователю/группе
- Возможность поиска по полной командной строке
- Предоставление опций для выбора самого старого или самого нового процесса
Основные опции
Критерии поиска
Формат вывода и сортировка
Сгенерированная команда:
Комбинируйте команды.
Описание:
`pgrep` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Поиск PID конкретного процесса
pgrep sshd
Находит идентификатор процесса с именем `sshd`.
Поиск PID процессов по пользователю
pgrep -u root
Находит идентификаторы всех процессов, запущенных пользователем `root`.
Вывод PID и имени вместе
pgrep -l firefox
Выводит идентификатор и имя процесса `firefox`.
Поиск по полной командной строке
pgrep -f "apache2.*worker"
Находит идентификаторы процессов, полная командная строка которых содержит как `apache2`, так и `worker`.
Поиск точного совпадения имени процесса
pgrep -x ssh
Находит идентификатор процесса с точным именем `ssh`. (`sshd` будет исключен)
Поиск самого нового процесса
pgrep -n chrome
Находит PID самого недавно запущенного процесса `chrome`.
Советы и предостережения
`pgrep` — мощный инструмент, но при неправильном использовании он может привести к непреднамеренному завершению или воздействию на процессы, поэтому следует проявлять осторожность.
Взаимодействие с pkill
Вместо того чтобы вручную передавать PID, найденные с помощью pgrep, команде kill, вы можете использовать команду pkill. Она позволяет напрямую завершать процессы или отправлять им сигналы, используя те же критерии поиска, что и pgrep, что очень удобно. Например, pkill -f "nginx.*worker" напрямую завершит рабочие процессы nginx.
Использование регулярных выражений
pgrep по умолчанию поддерживает регулярные выражения. Это позволяет выполнять сложное сопоставление с образцом.
pgrep 'httpd|nginx'найдет процессыhttpdилиnginx.- Использование с опцией
-f, напримерpgrep -f '^/usr/bin/python3.*script.py$', позволяет точно найти выполнение конкретного скрипта.
Опция -x для точного совпадения
pgrep по умолчанию выполняет частичное совпадение. Например, pgrep ssh найдет не только ssh, но и sshd. Чтобы найти только процессы с точным именем ssh, используйте опцию -x. Это важно для предотвращения воздействия на непреднамеренные процессы.