В comment на этот ответ другого question, комментатор говорит:
Не используйте kill -9, если не считать абсолютно необходимо! SIGKILL не может попасть в ловушку убитая программа не может процедуры выключения для удаления, например, временные файлы. Сначала попробуйте HUP (1), затем INT (2), затем QUIT (3)
Я в принципе согласен с SIGKILL
, но остальное для меня новость. Учитывая, что сигнал по умолчанию, отправленный kill
, равен SIGTERM
, я ожидаю, что это наиболее часто ожидаемый сигнал для грациозного отключения произвольного процесса. Кроме того, я видел, что SIGHUP
используется для неисчерпающих причин, например, говоря демонам "перечитать ваш файл конфигурации". И мне кажется, что SIGINT
(такое же прерывание, которое вы обычно получаете с помощью Ctrl-C, верно?) Не так широко поддерживается, как должно быть, или заканчивается довольно беззаботно.
Учитывая, что SIGKILL
- последнее средство — Какие сигналы и в каком порядке следует отправить произвольному процессу, чтобы максимально закрыть его?
Пожалуйста, подтвердите свои ответы с помощью подтверждающих фактов (помимо личных предпочтений или мнений) или ссылок, если сможете.
Примечание. Меня особенно интересуют лучшие практики, которые включают рассмотрение bash/Cygwin.
Изменить: Пока никто не упоминает INT или QUIT, и здесь упоминается HUP. Есть ли причина включать их в упорядоченный процесс-убийство?