ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Команда Pkill в Linux

Команда Pkill в Linux

В этой статье рассматриваются основы команды pkill в Linux.

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

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

 

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

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

pkill [OPTIONS] <PATTERN>

 

Соответствие <PATTERN> указывается с использованием расширенных регулярных выражений.

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

pkill -9 firefox

 

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

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

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

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

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

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

pkill -HUP nginx

 

pkill использует регулярные выражения для сопоставления имен процессов. Всегда полезно использовать pgrepкоманду для печати соответствующих процессов, прежде чем отправлять им сигналы. Например, чтобы перечислить все процессы, которые содержат «ssh» в своих именах:

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

 

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

pkill '^ssh$'

 

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

По умолчанию pkill совпадает только с именем процесса. Когда используется опция -f, команда сопоставляется с полными списками аргументов. Если команда содержит пробелы, заключите всю команду в кавычки:

pkill -9 -f "ping 8.8.8.8"

 

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

pkill -u mark

 

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

pkill -u mark,danny

 

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

pkill -9 -u mark gnome

 

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

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

pkill -9 -n screen

 

Вывод

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

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

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

Exit mobile version