Поиск по сайту:

Пусть боги ко мне приходят, а не я к ним (Плотин).

Команда Pkill в Linux2 мин для чтения

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 февраля 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): изящно остановить процесс.

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

  • используя число (например, -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"

 

Читать  Как автоматически отвечать на Да или Нет в командах Linux-Unix

Используйте опцию -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 свой терминал.

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

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

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

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

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close