Руководства по командной строке

Man » pkill Manual online - подробная онлайн-документация для страницы руководства pkill

🌍
pgrep, pkill, pidwait - поиск, отправка сигнала или ожидание процессов на основе имени и других атрибутов

SYNOPSIS

pgrep [options] pattern
pkill [options] pattern
pidwait [options] pattern

DESCRIPTION

pgrep просматривает текущие процессы и выводит в stdout идентификаторы процессов, соответствующие критериям выбора. Все критерии должны совпадать. Например,

$ pgrep -u root sshd

отобразит только процессы с именем sshd И принадлежащие пользователю root. С другой стороны,

$ pgrep -u root,daemon

отобразит процессы, принадлежащие пользователю root ИЛИ daemon.

pkill отправляет указанный сигнал (по умолчанию SIGTERM) каждому процессу вместо вывода их в stdout.

pidwait ожидает каждый процесс вместо вывода их в stdout.

OPTIONS

-signal
--signal signal

Определяет сигнал, который будет отправлен каждому совпадающему процессу. Можно использовать либо числовое, либо символическое имя сигнала. В режиме pgrep или pidwait только длинная опция может использоваться и не имеет эффекта, если не используется в сочетании с --require-handler, чтобы фильтровать процессы с обработчиком сигнала, определенным для конкретного сигнала.

-c, --count

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

-d, --delimiter delimiter

Устанавливает строку, используемую для разделения каждого идентификатора процесса в выводе (по умолчанию - новая строка). (Только для pgrep).

-e, --echo

Отображает имя и PID процесса, который будет завершен. (Только для pkill).

-f, --full

Обычно шаблон сопоставляется только с именем процесса. Когда установлен параметр -f, используется полная командная строка.

-g, --pgroup pgrp,...

Сопоставляет только процессы, находящиеся в указанных идентификаторах группы процессов. Группа процессов 0 преобразуется в собственную группу процессов pgrep, pkill или pidwait.

-G, --group gid,...

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

-i, --ignore-case

Выполняет сопоставление процессов без учета регистра.

-l, --list-name

Выводит имя процесса, а также идентификатор процесса. (Только для pgrep).

-a, --list-full

Выводит полную командную строку, а также идентификатор процесса. (Только для pgrep).

-n, --newest

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

-o, --oldest

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

-O, --older secs

Выбирает процессы, старше указанного количества секунд.

-P, --parent ppid,...

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


-s, --session sid,...
Сопоставлять только процессы, идентификатор сеанса которых указан в списке. Идентификатор сеанса 0 преобразуется в идентификатор сеанса, используемый pgrep, pkill или pidwait.

-t, --terminal term,...
Сопоставлять только процессы, управляющий терминал которых указан в списке. Имя терминала должно быть указано без префикса "/dev/".

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

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

-v, --inverse
Инвертировать сопоставление. Этот параметр обычно используется в контексте pgrep или pidwait. В контексте pkill этот короткий параметр отключен, чтобы избежать случайного использования.

-w, --lightweight
В контексте pgrep или pidwait отображать все идентификаторы потоков вместо идентификаторов процессов. В контексте pkill этот параметр отключен.

-x, --exact
Сопоставлять только процессы, имена (или строки команд, если указан параметр -f) которых точно соответствуют шаблону.

-F, --pidfile file
Читать идентификаторы процессов из файла. Этот параметр более полезен для pkill или pidwait, чем для pgrep.

-L, --logpidfile
Выдавать ошибку, если файл pidfile (см. -F) не заблокирован.

-r, --runstates D,R,S,Z,...
Сопоставлять только процессы, состояние которых соответствует указанному.

-A, --ignore-ancestors
Игнорировать всех предков pgrep, pkill или pidwait. Например, это может быть полезно при повышении привилегий с помощью sudo или аналогичных инструментов.

-H, --require-handler
Сопоставлять только процессы, для которых в пространстве пользователя присутствует обработчик сигнала, который будет отправлен.

--cgroup name,...
Сопоставлять по указанному имени контрольной группы (cgroup) v2. См. cgroups(8).

--ns pid
Сопоставлять процессы, принадлежащие одному и тому же пространству имен. Требуется, чтобы для сопоставления процессов других пользователей выполняться с правами root. См. --nslist, чтобы ограничить, какие пространства имен сопоставлять.

--nslist name,...
Сопоставлять только указанные пространства имен. Доступные пространства имен: ipc, mnt, net, pid, user, uts.

-q, --queue value
Использовать sigqueue(3) вместо [kill]({filename}../../kill)(2), и аргумент value используется для указания целого числа, которое будет отправлено вместе с сигналом. Если принимающий процесс установил обработчик для этого сигнала с помощью флага SA_SIGINFO в sigaction(2), то он может получить эти данные в поле si_value структуры siginfo_t.

-V, --version
Отобразить информацию о версии и выйти.

-h, --help
Отобразить справку и выйти.

ОПЕРАНДЫ

pattern
Указывает расширенное регулярное выражение для сопоставления с именами процессов или строками команд.

ПРИМЕРЫ

Пример 1: Найти идентификатор процесса с именем daemon:

$ pgrep -u root named

Пример 2: Заставить syslog перезагрузить свой файл конфигурации:

$ pkill -HUP syslogd

Пример 3: Отобразить подробную информацию обо всех процессах xterm:

$ ps -fp $(pgrep -d, -x xterm)

Пример 4: Заставить все процессы chrome работать с более низким приоритетом:

$ renice +4 $(pgrep chrome)

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

0     Одно или несколько процессов соответствуют критериям. Для pkill и pidwait одно или несколько процессов также должны быть успешно сигнализированы или ожидаемы.
1     Ни один процесс не соответствует критериям или ни один из них не может быть сигнализирован.
2     Синтаксическая ошибка в командной строке.
3     Фатальная ошибка: не хватает памяти и т. д.

ЗАМЕТКИ

Имя процесса, используемое для сопоставления, ограничено 15 символами, представленными в выводе /proc/pid/stat. Используйте опцию -f для сопоставления с полной командной строкой, /proc/pid/cmdline. Потоки могут иметь другое имя процесса, чем родительский процесс, но будут иметь одну и ту же командную строку.

Запущенный процесс pgrep, pkill или pidwait никогда не будет сообщать о себе как о совпадении.

Опция -O --older будет молчаливо завершаться неудачей, если /proc смонтирован с опцией subset=pid.

ОШИБКИ

Опции -n, -o и -v не могут использоваться вместе. Дайте мне знать, если вам это нужно.

Завершенные процессы сообщаются.

pidwait требует системный вызов pidfd_open(2), который впервые появился в Linux 5.3.

ССЫЛКИ

ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).

АВТОР

Кьетил Торгрим Хомме

СООБЩЕНИЕ ОБ ОШИБКАХ

Пожалуйста, отправляйте сообщения об ошибках по адресу _