Поиск по сайту:
Быть добрым совсем не трудно, трудно быть справедливым (В. Гюго).

Команда Pkill в Linux

29.02.2020
Команда 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 для получения списка всех доступных сигналов.

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

  • 1(HUP): перезагрузить процесс.
  • 9(KILL): убить процесс.
  • 15(TERM): изящно остановить процесс.
Читать  Как ядро Linux обрабатывает аппаратные прерывания

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

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

Например, чтобы перезагрузить процессы 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 (для самых старых).

Читать  Сгенерируйте случайный пароль в Ubuntu 20.04

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

pkill -9 -n screen

 

Вывод

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Владимир

Полезный материал.
А есть возможность разделить одноименные запущенные программы?
Например запущено несколько одноименных процессов и нужно остановить всего один из них с конкретным PID.

Это может быть вам интересно


Рекомендуемое
Вы можете услышать много разных терминов в отношении типов онлайн-курсов. Ниже…

Спасибо!

Теперь редакторы в курсе.