如何杀死僵尸进程?

  • 僵尸进程定义?
    查看僵尸进程,利用命令ps,可以看到有标记为Z(zombie)的进程就是僵尸进程。

  • 僵尸进程的危害?
    僵尸进程会占用系统资源,如果很多,则会严重影响服务器的性能;

  • 僵尸进程产生的原因?

    • 子进程结束后向父进程发出SIGCHLD信号,父进程默认忽略了它
    • 父进程没有调用wait()或waitpid()函数来等待子进程的结束
    • 网络原因有时会引起僵尸进程;
  • 如何杀死僵尸进程?
    僵尸进程用kill命令是无法杀掉的,但是我们可以结果掉僵尸进程的爸爸,僵尸daddy挂了之后,僵尸进程就成了孤儿进程,孤儿进程不会占用系统资源,会被init程序收养,然后init程序将其回收。

ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"    //先查看具体进程:
kill -9 pid号         //杀死z进程(这些动作是比较危险的,希望在真正的服务器上面慎用!!!)

1.查看所有R相关的进程
2.查看僵尸进程的父进程
3.杀死僵尸进程对应的父进程
4.僵尸进程被回收

参考:

  1. https://blog.csdn.net/zjwson/article/details/53321431
  2. https://www.cnblogs.com/sbaicl/archive/2012/09/16/2687201.html
  3. https://michaelyou.github.io/2015/03/12/孤儿进程与僵尸进程/
  4. https://baike.baidu.com/item/僵尸进程/1036577
posted @ 2018-05-08 10:00  bingo彬哥  阅读(4327)  评论(0编辑  收藏  举报
本站总访问量