如果 kill -9 无效,如何在 Linux 中终止进程

cat*_*nts 7 kill

我想 kill -9 仍然只是向进程发送信号。如果该过程表现不佳,我认为 kill -9 将无效。确实,今天我第一次看到 kill -9 在发送到卡住的 ruby​​ 进程时没有任何效果。所以这是我的问题:是否有更严厉的方法来终止进程?

Dav*_*rtz 15

您必须重新启动机器。如果kill -9没有杀死进程,则意味着它卡在内核中。除非你能弄清楚它卡在什么上面并解开它,否则你无能为力。它被卡住的原因是它正在等待某些东西,而完全停止等待所需的逻辑根本不存在。

(以上假设该进程已经被重新分配给init。否则,它的父级可能会保留它。您可能必须杀死它的父级。)


小智 7

每次我有一个工作卡住并且信号 9 或 15 不会杀死它时,我都会向它发送信号 30 (SIGPWR) 并且几乎每次它都会清除它。我不记得什么时候发送停电信号不起作用了。