Pkill — команда в Linux

Linux

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

Команда pkill является частью пакета procps (или procps-ng), который предустановлен практически на все дистрибутивы Linux. pkill — это базовая обёртка вокруг программы pgrep, которая выводит только список соответствующих процессов.

Как использовать команду pkill

Синтаксис команды pkill следующий:

pkill [OPTIONS] <PATTERN>

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

При вызове pkill, без опций, посылает сигнал 15 (TERM) на PID всех запущенных программ, которые совпадают с заданным именем.

Например, чтобы единоразово остановить все процессы Firefox, вы должны выполнить команду:

pkill -9 firefox

Команда возвращает 0, если хотя бы один запущенный процесс совпадает с запрошенным именем. В противном случае код выхода равен 1, что может быть полезно при использовании в скриптах оболочки.

Чтобы послать другой сигнал соответствующим процессам, вызовите команду pkill с опцией --signal, за которой следует либо числовое, либо символическое имя сигнала. Другой способ отправки сигнала — запустить pkill, за которым следует имя или номер сигнала, префиксом которого является дефис (-).

Используйте команду kill -l, чтобы перечислить все доступные сигналы.

Наиболее часто используемые сигналы:

  • 1 (HUP): перезагрузить процесс.
  • 9 (KILL): завершить процесс.
  • 15 (ТЕРМ): остановить процесс.

Сигналы могут быть указаны тремя различными способами:

  1. используя номер (например, -1).
  2. с префиксом «SIG» (например, -SIGHUP).
  3. без префикса «SIG» (например, -HUP).

Например, чтобы перезагрузить процессы Nginx, которые были запущенны:

pkill -HUP nginx

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

Всегда полезно использовать команду pgrep, чтобы вывести соответствующие процессы, прежде чем посылать им сигналы.

Например, чтобы перечислить все процессы, которые содержат в своих именах «ssh»:

Output

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

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

pkill '^ssh$'

Символ картетка (^) всегда в начале строки, а доллар $ в конце.

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

Если команда содержит пробелы, процитируйте всю команду:

pkill -9 -f "ping 8.8.8.8"

Используйте опцию -u, чтобы указать pkill на соответствие процессов, выполняемых данным пользователем:

pkill -u mark

Чтобы указать несколько пользователей, разделите их имена запятыми:

pkill -u mark,danny

Вы также можете комбинировать опции и шаблоны поиска. Например, чтобы послать KILL сигнал всем процессам, запущенным под пользовательской меткой и содержащим в своем названии «гном», нужно набрать «gnome»:

pkill -9 -u mark gnome

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

Например, чтобы убить последний созданный сеанс screen:

pkill -9 -n screen

Заключение

Команда pkill используется для отправки сигналов запущенным программам, основанным на различных критериях.

Для получения дополнительной информации о команде pkill посетите страницу man pkill или введите man pkill в своем терминале.


Теги для быстрого перехода

4G Apple apps Backup Belkin canonical Catalina CentoOS Chrome ChromeOS chromium debian edge Explorer gooba google Huawei iMac iPad iPhone java Keyboard Linksys linux lts Mac macapps MacOS Mac OS Magic microsoft Mouse nintendo nvidia oracle ps4 Safari Sensei sony ssl switch ubuntu WiFi Windows Браузер

Если у Вас есть вопросы, пожалуйста, оставьте свой комментарий.

Oleg Kozlov

QA Engineer, web-testing, Adobe illustration, Adobe Photoshop, Motion Design, Music, Games, Mac OS.

Оцените автора
Техносфера
Добавить комментарий