pgrep, pkill
  найти процесс или послать сигнал процессу по имени и другим атрибутам  

СИНТАКСИС
 
       
pgrep [ -flnvx ] [ -d разделитель ] [ -P список_ppid ] [ -g список_групп ]
   [ -s список_sid ] [ -u список_euid ] [ -U список_uid ]
   [ -G список_групп ] [ -J список_projid ] [ -t список_терминалов ]
   [ -T список_taskid ] [ шаблон ]


pkill [ -сигнал ] [ -fnvx ] [ -P список_ppid ] [ -g список_групп ]
   [ -s список_sid ] [ -u список_euid ] [ -U список_uid ]
   [ -G список_групп ] [ -J список_projid ] [ -t список_терминалов ]
   [ -T список_taskid ] [ шаблон ] 



ОПИСАНИЕ
 

Утилита pgrep просматривает активные процессы в системе и выдает идентификаторы процессов, атрибуты которых соответствуют указанным в командной строке критериям. Каждый идентификатор процесса выдается в десятичном виде и отделяется от следующего идентификатора строкой-разделителем (по умолчанию используется символ перевода строки). Для каждого атрибута пользователь может в командной строке указать набор возможных значений через запятую. Например:

pgrep -G other,daemon

Эта команда выдает процессы, реальный идентификатор группы которых имеет значение other ИЛИ daemon. Если указано несколько критериев поиска, утилита pgrep ищет процессы, атрибуты которых соответствуют всем критериям.

Утилита pkill работает аналогично pgrep, но каждому соответствующему критериям поиска процессу посылается сигнал, аналогично kill, вместо выдачи идентификатора процесса. Имя или номер сигнала можно указать как первую опцию командной строки pkill. Если параметр "сигнал" отсутствует, то посылается сигнал SIGTERM, обычно имеющий номер 15, и реакция на него по умолчанию – завершить работу процесса, который получил сигнал.

ОПЦИИ

Поддерживаются следующие опции:

-d разделитель
    Задает строку-разделитель результатов, которая выдается между идентификаторами соответствующих процессов. Если опция -d 
    не указана, выдается символ новой строки. Опцию -d можно задавать только утилите pgrep.

-f
    Шаблону (который задается как регулярное выражение) должна соответствовать полная строка аргументов процесса (получается из 
    поля pr_psargs в файле /proc/nnnnn/psinfo). Если опция -f не указана, шаблону должно соответствовать только имя выполняемого 
    файла (которое получается из поля pr_fname файла /proc/nnnnn/psinfo).

-g список_групп
    Выбирает только процессы, идентификатор группы которых входит в заданный список. Если список включает группу 0, это значение
    интерпретируется как идентификатор группы соответствующего процесса pgrep или pkill.

-G список_групп
    Выбирает только процессы, реальный идентификатор группы которых входит в заданный список. В качестве идентфикатора группы 	
    можно задавать либо ее имя, либо ее числовой идентификатор.

-J список_projid
    Выбирает только процессы, идентификатор проекта которых входит в заданный список. Проекты можно задавать по имени или по 
    числовому идентификатору проекта.

-l
    "Длинный" формат выдачи результатов. Для каждого выбранного процесса помимо идентификатора выдает имя. Имя процесса 
    получается из поля pr_psargs или pr_fname, в зависимости от того, была ли указана опция -f (см. выше). Опцию -l можно задавать 
    только для утилиты pgrep.

-n
    Выбирает только самый новый (созданный последним) процесс, удовлетворяющий остальным критериям.

-P список_ppid
    Выбирает только процессы, идентификатор родительского процесса которых входит в указанный список.

-s список_sid
    Выбирает только процессы, идентификатор сеанса которых входит в заданный список. Если в список входит идентификатор 0, 
    это значение интерпретируется как идентификатор сеанса соответствующего процесса pgrep или pkill.

-t список_терминалов
    Выбирает только процессы, связанные с одним из терминалов в указанном списке. Каждый терминал задается как имя 
    соответствующего специального файла устройства в каталоге /dev. Например, term/a или pts/0.

-T список_taskid
    Выбирает только процессы, идентификатор задачи которых входит в заданный список. Если в список входит идентификатор 0,
    это значение интерпретируется как идентификатор задачи соответствующего процесса pgrep или pkill.

-u список_euid
    Выбирает только процессы, эффективный идентификатор пользователя которых входит в указанный список. В качестве
    идентификатора пользователя можно задавать регистрационное имя или числовой идентификатор.

-U список_uid
    Выбирает только процессы, реальный идентификатор пользователя которых входит в указанный список. В качестве идентификатора
    пользователя можно задавать регистрационное имя или числовой идентификатор.

-v
    Обращает критерии выбора процессов. Выбирает все процессы, кроме удовлетворяющих заданным критериям поиска.

-x
    Выбирает только процессы, строка аргументов или имя выполняемого файла которых точно соответствует заданному шаблону. 
    Соответствие шаблону считается точным, когда все символы в строке аргументов процесса или имени выполняемого файла 
    соответствуют шаблону.

-сигнал
    Задает сигнал, который будет послан каждому из выбранных процессов. Если сигнал не указан, посылается сигнал SIGTERM. 
    В качестве значения сигнала можно задавать одно из символьных имен, которые определены на странице справочного руководства 
    signal(3HEAD), но без префикса SIG, или соответствующий номер сигнала в десятичном виде. Опция -сигнал может передаваться 
    только как первая опция утилиты pkill.

ОПЕРАНДЫ

Поддерживается следующий операнд:

шаблон
    Задает расширенное регулярное выражение (Extended Regular Expression - ERE), которому должно соответствовать имя 
    выполняемого файла или вся строка аргументов процесса. Полное описание синтаксиса расширенных регулярных выражений см. на 
    странице справочного руководства regex(5). 

CТАТУС ВЫХОДА

Утилиты завершают работу со следующими статусами выхода:
0	Выбран один или несколько процессов.
1	Ни один процесс не соответствует критериям.
2	Указана недопустимая опция командной строки.
3	Произошла фатальная ошибка.

ПРИМЕЧАНИЯ

Обе утилиты сопоставляют с шаблоном в виде расширенного регулярного выражения значения в полях pr_fname или pr_psargs файлов /proc/nnnnn/psinfo. Длина этих строк ограничена в соответствии с определениями в файле . Шаблоны, которым могут соответствовать более длинные строки, могут не дать при выборе требуемого набора процессов.

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

Процессы, завершенные, но еще не удаленные из таблицы процессов (defunct), никогда не выбираются утилитами pgrep и pkill.

Текущий процесс pgrep или pkill никогда не учитывает себя при выборе.

Справку по опциям см. man pkill

СМ.ТАКЖЕ
  ps kill


Список команд