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



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