Обзор
`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`. Это важно для предотвращения воздействия на непреднамеренные процессы.