1 何为僵尸进程
僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源。
在UNIX系统中,一个进程结束了,但是它的父进程没有等待(调用wait / waitpid)它, 那么它将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管他,成为他的父进程。
使用top命令查看,zombie代表僵尸进程的数量
2 查看具体的僵尸进程都有哪些,列出状态、父进程id,子进程id 执行命令(cmd)
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
3 根据进程id查看具体的启动信息
ps -aux | grep 6120
4 杀掉僵尸进程
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
标签:ps,grep,僵尸,cmd,解决,进程,id
From: https://www.cnblogs.com/lfdou/p/17416753.html