问题是无法捕获SIGKILL,是否有办法确保在程序终止时执行代码块?我有一个启动五个子进程并更改平台硬件状态的进程 - 它处理SIGTERM和SIGINT,但是当子进程继续运行时,SIGKILL将终止主进程。有没有办法总是执行清理,或者我必须接受SIGKILL会使计算机处于“损坏”状态吗?
答案 0 :(得分:1)
SIGKILL
无法处理。此信号用于关键情况,您不希望程序能够忽略该信号,并且您希望强制它被杀死。
SIGTERM
是补充,当你想在程序关闭前让程序清理时需要使用它
有关详细信息,请参阅:http://en.wikipedia.org/wiki/Unix_signal#Handling_signals