Главная > Управление процессами > pgrep

pgrep: Поиск идентификаторов процессов

Команда `pgrep` ищет процессы в списке запущенных процессов по определенным критериям (например, по имени процесса, пользователю, полной командной строке) и выводит идентификаторы этих процессов (PID). Это более эффективный и удобный способ найти нужный процесс по сравнению с комбинацией команд `ps` и `grep`.

Обзор

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


Те же команды в категории