В чем разница между 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 и запускать корректный выход.