SIGKILL不起作用的情况

时间:2011-12-22 07:02:55

标签: linux signals

是否有任何情况下,在linux上运行的应用程序(未阻止信号SIGKILL)在发出SIGKILL信号时不会被杀死?

3 个答案:

答案 0 :(得分:8)

无法阻止或忽略

SIGKILLSIGSTOP也不能)。

如果信号在系统调用“内部”被阻塞,则进程可能对信号没有响应(等待I / O就是一个例子 - 在没有{{的情况下硬件安装的失败的NFS文件系统上等待I / O 1}}选项例如)。

(另一个案例是僵尸进程,但那时它们并不是真正的进程。)

答案 1 :(得分:3)

是的,当进程在内核空间中被阻止时,例如读取被阻止的NFS文件系统或无响应的设备。

答案 2 :(得分:1)

使用ps a(或者您也可以使用其他标志)检查过程状态。 如果进程状态是

D : uninterruptible sleep (usually IO)

然后你不能杀死那个过程 正如其他人所提到的那样,这通常是由卡住I / O引起的,例如进程等待对断开连接的NFS文件系统进行I / O.