如果 ^\ 不起作用,但 kill -9 起作用,这意味着什么?

如果 ^\ 不起作用,但 kill -9 起作用,这意味着什么?

最近,我的一个第三方程序以一种奇怪的方式挂起了。它停止接受输入或输出,并且 ^C 和 ^\ 不执行任何操作。kill -9并终止父进程结束它。

进程处于什么状态,导致 SIGTERM 不起作用但 SIGKILL 起作用?并且,像这样使用 SIGKILL 时我应该注意哪些危险?

答案1

程序(和脚本)可以捕获并处理或忽略除 9(SIGKILL)之外的任何信号。SIGKILL 是最后的手段,因为它会取消程序可能执行的任何现有清理。任何信号的默认操作都是终止进程,因此您可以尝试其他数字,看看程序是否会处理它们或被终止。使用以下命令查看所有可能的信号列表:

kill -L 

通常,程序只会处理 SIGKILL 之外的 62 种可能性中的几种。

相关内容