我无法用命令终止一个进程kill -9
,有没有办法在kill
不重新启动机器的情况下做到这一点?
答案1
如果进程处于 [defunct] 状态,可能的原因是它正在等待其子进程之一完成。如果这是手写脚本,请尝试观察他调用了哪些子进程并检查是否有挂起。
答案2
如果某个进程在一段时间后仍未终止,则kill -9
原因是它在内核代码中处于不可中断的休眠状态。这主要与 I/O 问题有关。要么休眠结束(I/O 结束或失败或超时等),然后进程将被清理,要么您必须重新启动机器。
答案3
如果您向正确的 PID 发送信号编号 9 (sigKILL) 并且进程不会结束,则只有一个可能的解决方案。重新启动机器。
常见的错误是向错误的进程编号 PID 发送 sigKILL,因此在按 Enter 键之前请仔细检查。