kill - отправка сигналов процессам

kill [-s имя_сигнала] pid ...
kill -l [код_завершения]
kill -имя_сигнала pid ...
kill -номер_сигнала pid ...
Программа kill используется для управления работающими процессами по их PID, с помощью отправки им управляющих сигналов. Пользователь root, может управлять любыми процессами, в том числе и процессами других пользователей. Если не указано символическое имя или номер сигнала, отправляется сигнал TERM. Возможны следующие опции:
-s имя_сигнала
Данная опция позволяет отправить сигнал процессу, используя его символическое имя. По-умолчанию отправляется сигнал TERM. На самом деле, эту опцию можно опускать, устанавливая только знак "-" перед именем или номером сигнала, например: -HUP или -1.
-l [код_завершения]
Без указания операнда, выведет имена сигналов. Иначе, покажет имя сигнала, соответствующего указанному коду_завершения.
-имя_сигнала
Указать символическое имя сигнала, для отправки процессу.
-номер_сигнала
Указать сигнал по его числовому значению ( только положительное число )
Следующие PID имеют специальное значение.
-1
При выполнении пользователем root, отправляет сигнал всем процессам, иначе всем процессам принадлежащим данному пользователю.
Ниже представлены самые часто-используемые сигналы, имеет смысл, запомнить их:
  • 1 - HUP (hang up) - отбой
  • 2 - INT (interrupt) - прерывание
  • 3QUIT (quit) - выход
  • 6ABRT (abort) - аварийное завершение
  • 9KILL (non-catchable, non-ignorable kill) - безусловное уничтожение
  • 14ALRM (alarm clock) - будильник
  • 15TERM (software termination signal) - програмное завершение
Некоторые системные оболочки имеют встроенную команду kill с идентичным или похожим функционалом. За дополнительной информацией обратитесь к справочному руководству man buildin. При успешном завершении, программа kill, возвращает 0, иначе >0. Примеры использования: Многие демоны, реагируют на сигнал HUP, перечитыванием конфигурационного файла, без прерывания работы. Напрмер, у нас работает некий демон с PID 123, мы, не прерывая его работы, вносим изменения в конфигурационный файл. Что-бы работающий демон принял эти изменения, отправляем ему сигнал HUP.
kill -HUP 123
или
kill -1 123
Что-бы безусловно завершить процесс ( например в случае его зависания ), используем сигнал KILL, или 9 в числовом эквиваленте. Сигнал KILL не перехватывается, уничтожение процесса происходит на уровне операционной системы.
kill -9 123
Кроме того можно управлять группой процессов по их PGID:
kill -TERM -PGID
Смотри так-же: builtin(1), csh(1), killall(1), ps(1), kill(2), sigaction(2)