В чем разница между sigkill и sigabrt?

На днях я испытал остановку в своем приложении на python с sigabrt, но я знал, что init должен послать сигнал sigkill. Мне любопытно, в чем разница между ними, если таковые имеются? Может кто-нибудь дать мне некоторые ресурсы, чтобы узнать больше об этом?

1 ответ

Решение

Есть объяснение от:

www.quora.com/What-is-the-difference-between-SIGABRT-and-SIGKILL-in-Linux

SIGKILL и SIGABRT - это два типа сигналов, которые отправляются в процесс для его завершения.

SIGKILL является эквивалентом "kill -9" и используется для уничтожения зомби-процессов, процессов, которые уже мертвы и ожидают, когда их родительские процессы пожнут их. SIGABRT эквивалентен "kill -6" и используется для завершения / прерывания запущенных процессов.

Сигнал SIGKILL не может быть перехвачен или проигнорирован, и процесс приема не может выполнить какую-либо очистку при получении этого сигнала. Сигнал SIGABRT может быть перехвачен, но не может быть заблокирован.


Другими словами, ваша программа может корректно реагировать на SIGABRT и запускать корректный выход.

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