美文网首页
zombie 进程

zombie 进程

作者: Silver_42ac | 来源:发表于2019-07-17 15:13 被阅读0次

zombie产生原因:
引用:

“Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,它的终止代号将告诉父进程这个任务是否已成功地完成。
为了遵循这些设计原则,不允许 Linux 内核在进程一终止后就丢弃包含在进程描述符字段中的数据。只有父进程发出了与被终止的进程相关的 wait() 类系统调用之后,才允许这样做。这就是引入僵死状态的原因:尽管从技术上来说进程已死,但必须保存它的描述符,直到父进程得到通知。
如果一个进程已经终止,但是它的父进程尚未调用 wait() 或 waitpid() 对它进行清理,这时的进程状态称为僵死状态,处于僵死状态的进程称为僵尸进程(zombie process)。任何进程在刚终止时都是僵尸进程,正常情况下,僵尸进程都立刻被父进程清理了。”

简而言之:儿子玩疯了;老爸忘了这个孩子,自己回家了,孩子一直在亲戚家打闹,没人管了。

查看zombie 进程方法:

ps x -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

自定义了输出列:
stat 状态
ppid 父进程ID
pid 进程ID
cmd 命令行内容

grep -e 扩展正则表达式

处理zombie 进程方法

kill -9 pid #经常不行,熊孩子;说教无用
kill -9 ppid #子之错,父之过;看棍;常常是有用的;
父进程消失后,子进程变为孤儿进程;linux就可以接收管教;自动处理

还不行?
重启服务器吧(末日降临)

相关文章

网友评论

      本文标题:zombie 进程

      本文链接:https://www.haomeiwen.com/subject/qygqlctx.html