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