Что это значит, когда ^ \ не работает, а kill -9 работает?

Недавно у меня была странная зависание сторонней программы. Он прекращает принимать ввод или вывод, а ^ C и ^ \ ничего не делают. kill -9 и уничтожение родительского процесса действительно заканчивают его.

В каком состоянии может находиться процесс, когда SIGTERM не работает, а SIGKILL работает? И о каких опасностях я должен знать, когда использую SIGKILL, как это?

1
задан 14 August 2019 в 04:26

1 ответ

Программы (и сценарии) могут захватить и обработать или проигнорировать любой сигнал кроме 9 (SIGKILL). SIGKILL является последним средством, потому что он аннулирует любую очистку выхода, которую могла бы сделать программа. Действие по умолчанию для любого сигнала должно завершить процесс, таким образом, можно попробовать другие числа, чтобы видеть, обрабатывает ли программа их или завершается. См. список всех возможных сигналов с командой:

kill -L 

Обычно, программа обработает всего несколько из этих 62 возможностей кроме SIGKILL.

1
ответ дан 7 December 2019 в 14:59

Другие вопросы по тегам:

Похожие вопросы: