加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux下僵尸进程如何完全杀死,方法技巧是什么

发布时间:2023-08-31 20:05:35 所属栏目:Linux 来源:互联网
导读:   这篇文章给大家分享的是“Linux下僵尸进程如何彻底杀死,方法技巧是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一
  这篇文章给大家分享的是“Linux下僵尸进程如何彻底杀死,方法技巧是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。
 
  linux僵尸进程杀不死的解决方法:1、利用cat命令,查看僵尸进程的父进程id,语法为“cat /proc/僵尸进程的进程号/status”;2、利用kill命令,将父进程给杀死即可,语法为“kill -9 父进程的进程号”。
 
  可以使用kill命令终止Linux系统中的进程。尽管叫这个名字,但kill命令和一组其他的命令 (例如pdill和killall) 其次是被编写/设计为向一个或多个进程发送某些信号。当未指定时,它发送的默认信号是终止进程的SIGTERM信号。
 
  当父进程死亡或被杀死,而其子进程没有跟随其父进程一起消亡时,我们称该进程为孤儿进程。
 
  如何杀死僵尸进程
 
  另一方面,僵尸进程是无法被杀死的!如果你要问什么?因为他们已经死了!
 
  每个子进程终止后,都会成为僵尸进程,然后由父其进程删除。当进程退出其存在并释放其使用过的资源时,其名称仍在OS进程表上。然后会由其父级的进程从进程表中删除其名称。当失败时,我们就有了僵尸进程,但它已经不再是一个真正的进程,而只是操作系统进程表上的一个条目了。
 
  这就是为什么即使在已失效的 (僵尸) 进程上使用命令kill -9 (SIGKILL) 也不起作用的原因,因为没有什么可以杀死的。
 
  因此,要杀死僵尸进程,从进程列表中删除其名称,你就必须杀死其父进程。例如,如果PID 5878是僵尸进程,而其父级是PID 4809,则要杀死僵尸(5878),也请结束PID 4809:
 
  sudo kill -9 4809 #4809 is the parent, not the zombie
 
  但杀死父进程时要非常小心。如果进程的父级是PID 1,并且你杀死了它,就会重新启动系统!
 
  示例如下:
 
  1、根据子进程查看父进程
 
  cat /proc/pid/status
 
  2、利用“kill -9 父进程的进程号”将父进程给删除掉;
 
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章