Командная строка: kill
отправляем сигнал запущенному процессу с помощью команды kill
В любой среде, основанной на UNIX, каждый запущенный процесс может получать сигналы и давать на них ответную реакцию. Можно сказать, что это единственный способ взаимодействия с запущенными программами.
Команда kill
иcпользуется не только для завершения процессов в соответствии со своим названием. Эта команда так же может отправлять процессам различные сигналы. Но, тем не менее, завершение запущенного процесса является ее основным предназначением.
Синтаксис команды kill
предельно прост:
kill
По умолчанию команда отправляет сигнал TERM
процессу с соответствующим идентификатором PID
.
Но, запущенному процессу или процессам можно отправить и другие сигналы, в том числе:
-
HUP
(hang up) - сигнал срабатывает автоматически в случае, когда окно терминала, в котором запущен процесс, закрывается до его завершения, -
INT
(interrupt) - запуск команды с таким сигналом эквивалентен нажатию сочетания клавишCtrl + C
-
QUIT
(quit) - такой сигнал немедленно прекращает выполнение процесса и сбрасывает ядро, он соответствует сочетанию клавишCtrl + \
, -
ABRT
(abort) - сигнал аналогичен фукнцииabort()
языка C и направлен непосредственно на сам процесс -
KILL
(non-catchable, non-ignorable kill) - этот сигнал немедленно прерывает процесс, несохраненный процесс будет потерян, такой сигнал не может быть проигнорирован программой, -
ALRM
(alarm clock) - сигнал отправляется процессу, когда лимит времени указанный при вызове функции сигнализации истекает, -
TERM
(software termination signal) - этот сигнал запрашивает остановку процесса и может быть проигнорирован программой, он дает время на корректное завершение процесса.
Для указания сигнала в синтаксисе команды kill
есть несколько способов:
kill -s
или
kill -
так же, вместо имени сигнала signal_name
можно указать его номер signal_number
:
kill -
Кроме того, в команде можно указывать более одного процесса, перечислив ID
через пробел:
kill
Спасибо за внимание.