pgrep pkill — найти процессы по имени с возможной отправкой им сигнала

НАЗВАНИЕ

pgrep, pkill — найти процессы по имени с возможной отправкой им сигнала

СИНТАКСИС

pgrep [-LSfilnovx] [-F pidfile] [-G gid] [-M дамп] [-N система] [-P ppid]

[-U uid] [-d разделитель] [-g pgrp] [-j jid] [-s sid] [-t tty]

[-u euid] шаблон …

pkill [-сигнал] [-ILfinovx] [-F pidfile] [-G gid] [-M дамп] [-N система]

[-P ppid] [-U uid] [-g pgrp] [-j jid] [-s sid] [-t tty] [-u euid]

шаблон …

ОПИСАНИЕ

Команда pgrep производит поиск в таблице процессов работающей системы и

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

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

строке критерию.

Имеются следующие опции:

-F pidfile

Ограничить совпадения процессом, чей идентификатор про-

цесса (PID) хранится в файле pidfile.

-G gid

Ограничить совпадения процессами с идентификатором дей-

ствительной группы (real group ID) из разделённого запя-

тыми списка gid.

-I

Запросить подтверждение на отправку сигнала каждому про-

цессу.

-L

Файл pidfile, передаваемый в качестве параметра опции -F,

должен быть заблокирован с использованием системного

вызова flock(2) или создан с помощью pidfile(3).

-M дамп

Извлечь значения, связанные со списком имён (namelist),

из указанного дампа памяти ядра дамп, вместо памяти рабо-

тающей в текущий момент системы.

-N система      Извлечь список имён из указанной системы, вместо исполь-

зуемого по умолчанию образа ядра, с которого произведена

загрузка.

-P ppid

Ограничить совпадения процессами, идентификаторы роди-

тельских процессов (PPID) которых перечислены в разделён-

ном запятыми списке ppid.

-S

Искать также среди системных процессов (нитей ядра).

-U uid

Ограничить совпадения процессами с идентификаторами дей-

ствительного пользователя (real user ID), находящимися в

разделённом запятыми списке uid.

-d разделитель

Использовать заданный разделить для выводимых идентифика-

торов процессов.  По умолчанию используется символ новой

строки.  Эта опция может быть использована только с

командой pgrep.

-f

Производить поиск совпадений по полному списку аргумен-

тов.  По умолчанию проверяются только имена процессов.

-g pgrp

Ограничить совпадения списком процессов с идентификато-

рами группы процессов (process group ID) из разделенного

запятыми списка pgrp.  Ноль означает идентификатор группы

процессов работающей команды pgrep или pkill.

-i

Игнорировать различия в регистре символов в таблице про-

цессов и указанном шаблоне.

-j jid

Ограничить совпадения процессами внутри тюрьмы (jail) с

идентификатором из разделённого запятыми списка jid.

Значение «any» означает любой процесс в любой тюрьме.

Значение «none» означает любой процесс не в тюрьме.

-l

Подробный вывод.  В дополнение к идентификатору процесса

также выводить его имя.  При использовании совместно с

-f, для каждого подходящего процесса выводить его иденти-

фикатор и полный список аргументов.  Эта опция может быть

использована только с командой pgrep.

-n

Из всех подходящих процессов выбрать только самый новый

(по времени запуска).

-o

Из всех подходящих процессов выбрать только самый старый

(по времени запуска).

-s sid

Ограничить совпадения процессами с идентификатором сессии

(session ID) из разделённого запятыми списка sid.  Ноль

означает идентификатор сессии работающей команды pgrep

или pkill.  sid.

-t tty          Ограничить совпадения процессами, связанными с одним из

терминалов из разделённого запятыми списка tty.  Имена

терминалов задаются в форме ttyxx или в более короткой

xx.  Одиночный дефис (`-‘) задаёт процессы, не связанные

с терминалом.

-u euid

Ограничить совпадения процессами с идентификатором эффек-

тивного пользователя (effective user ID) из разделённого

запятыми списка euid.

-v

Инвертировать совпадение, т.е., вывести процессы, не удо-

влетворяющие заданному условию.

-x

Требовать точного совпадения с именем процесса, или, если

задана опция -f, списком аргументов.  По умолчанию произ-

водится поиск подстроки.

-сигнал

Неотрицательное десятичное значение или символьное имя

сигнала.  Указывает сигнал, отправляемый вместо использу-

емого по умолчанию TERM.  Эта опция допустима только в

качестве первого аргумента pkill.

При указании одного или более операнда шаблон, они используются как регу-

лярные выражения для поиска совпадения с именем команды или полным спис-

ком аргументов каждого процесса.  Если опция -f не указана, шаблон срав-

нивается только с именем команды.

Однако в настоящее время FreeBSD

отслеживает лишь первые 19 символов имени команды для каждого процесса.

Попытка найти что-либо в имени команды после первых 19 символов всегда

даёт отрицательный результат.

Следует отметить, что работающий процесс pgrep или pkill никогда не выбе-

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

риям поиска.

СТАТУС ЗАВЕРШЕНИЯ

Утилиты pgrep и pkill на выходе возвращают одно из следующих значений:

0       Был найден один или более подходящих процессов.

1       Подходящие процессы не были найдены.

2       В командной строке указаны недопустимые опции.

3       Произошла внутренняя ошибка.СОВМЕСТИМОСТЬ

Исторически, опция «-j 0» означала «любая тюрьма», хотя в других утили-

тах, таких как ps(1), идентификатор тюрьмы (jail ID) 0 имеет обратное

значение, «не в тюрьме».  Поэтому «-j 0» считается устаревшей, а вместо

неё возможно использовать «-j any».

СМОТРИ ТАКЖЕ

kill(1), killall(1), ps(1), flock(2), kill(2), sigaction(2), pidfile(3),

re_format(7)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *