Утилита pgrep#

Утилита pgrep используется для взаимодействия с процессами: она позволяет найти ID процесса, послать процессу сигнал или ожидать процесс.

Существует три формы вызова утилиты, которые предназначены для выполнения отдельных функций:

  • pgrep - просматривает текущие запущенные процессы и выводит в стандартный поток вывода PID процессов, соответствующих критериям заданным в команде;

  • pkill - отправляет заданный сигнал, по умолчанию - SIGTERM, каждому процессу, соответствующему критериям, заданным в команде (вместо вывода их идентификаторов в стандартный поток вывода);

  • pidwait - ожидает каждый процесс, соответствующий критериям, заданным в команде, вместо вывода их идентификаторов в стандартный поток вывода.

Критерии отбора процессов задаются опциями команды и паттерном сравнения, являющимся аргументом команды. Паттерн указывается после всех опций команды и представляет собой расширенное регулярное выражение, которое сопоставляется с именами процессов или содержимому командной строки. Для обработки процесса требуется соответствие одновременно всем критериям, заданным в команде.

Для некоторых опций значение может быть представлено списком; в этом случае критерий, значение которого задается опцией со списком, будет давать совпадение при совпадении значения с любым из элементов списка.

Синтаксис утилиты:

pgrep <options>

Где <options> - опции.

Синтаксис утилиты предполагает что не все опции или формы опций допустимы в каждой из форм команды. Это сделано для сокращения вероятности допустить ошибку при выполнении команд которые могут привести к критическим последствиям. Для уточнения деталей следует обратиться к дополнительной информации.

Часто используемые опции утилиты представлены в таблице ниже.

Опция

Описание

-signal, <br> --signal

Установка сигнала, посылаемого всем процессам, совпадающим с критериями отбора

-c, <br> --count

Вывод числа процессов, соответствующих критерию отбора

-e, <br> -echo

Отображение имени и PID каждого процесса, которому посылается системный сигнал KILL

-f, <br> --full

Сравнение на совпадение с паттерном производиться с полным содержимым командной строки

-i, <br> --ignore-case

Сопоставление происходит без учета регистра символов

-l, <br> --list-name

Вывод имен процессов вместе с PID. Используется только для pgrep

-a, <br> --list-full

Вывод содержимого командной строки вместе с PID. Используется только для pgrep

-v, <br> --inverse

Обработка процессов, не соответствующих критериям. Используется с pgrep или pidwait. Использование сокращенной формы опции запрещено для pkill

-x, <br> --exact

Паттерн рассматривается как строка, а не регулярное выражение при точном совпадении

Примеры использования#

  • Для вывода PID работающих процессов с заданным именем используйте команду:

    pgrep process_name
    

    В результате выполнения команды будут выведены PID всех работающих процессов, в имени которых содержится подстрока process_name.

  • Для вывода PID процессов, вызванных заданной строкой, используйте команду:

    pgrep --full "process_name parameter"
    

    В результате выполнения команды будут выведены PID процессов, в строке запуска которых содержится подстрока process_name parameter, определяющая имя команды и один передаваемый ей параметр.