Question

linux下kill -9 pid 强制不能杀掉某个进程原因


Answer

解决办法: 貌似没用好的解决办法, 重启电脑reboot一下吧.


Reference

今天安装集群的时候,发现一个进程一直存在,kill -9 pid 也干不掉,就找找原因了。

kill -9发送SIGKILL信号将其终止,但是以下两种情况不起作用:

  • a、该进程处于”Zombie”状态(使用ps命令返回defunct的进程)。此时进程已经释放所有资源,但还未得到其父进程的确认。”zombie”进程要等到下次重启时才会消失,但它的存在不会影响系统性能。

  • b、 该进程处于”kernel mode”(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在AIX 中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。

用top命令查看发现zombie进程数是0,看来这三个进程不属于僵尸进程,应该是b这中情况,就是这些进程进入核心态等待磁盘资源时出现磁盘空间不足的故障,这时我强制关闭了数据库,所以这几个进程就一直处于核心态无法被杀除,看来只能重启了。


More

[1] linux下kill -9 pid 强制不能杀掉进程原因
[2] kill -9 杀不死的进程处理办法

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐