Linux
sigkill 和 sigabrt 有什麼區別?
前幾天,我在使用 sigabrt 的 python 應用程序中遇到了停止,但我知道 init 應該發送一個 sigkill 信號。我很好奇它們之間有什麼區別,如果有的話?有人可以給我一些資源來閱讀更多相關資訊嗎?
有來自的解釋:
www.quora.com/What-is-the-difference-between-SIGABRT-and-SIGKILL-in-Linux
SIGKILL 和 SIGABRT 是發送給程序以終止它的兩種類型的信號。
SIGKILL 相當於“kill -9”,用於殺死殭屍程序,即已經死亡並等待其父程序收割它們的程序。SIGABRT 相當於“kill -6”,用於終止/中止正在執行的程序。
SIGKILL 信號不能被擷取或忽略,並且接收程序在接收到該信號後不能執行任何清理。SIGABRT 信號可以被擷取,但不能被阻塞。
所以換句話說,你的程序可以正確地對 SIGABRT 做出反應並啟動優雅退出。