在 CentOS(以及其他 Linux 发行版)中,查看**僵尸进程(Zombie / Z 状态进程)**常用下面几种方法:
ps 命令查看僵尸进程ps -ef | grep defunct
或
ps aux | grep Z
ps -eo pid,ppid,stat,cmd | awk '$3 ~ /Z/'
字段说明:
PID:僵尸进程 IDPPID:父进程 ID(关键)STAT Z:僵尸状态top 查看僵尸进程数量top
在顶部可以看到类似:
Tasks: 210 total, 1 zombie
按 f → 找 S(进程状态),确保显示 Z
htop(更直观,需安装)yum install -y htop
htop
僵尸进程会显示为:
Z
ps -eo stat | grep Z | wc -l
⚠️ 僵尸进程不能直接 kill
ps -eo pid,ppid,stat,cmd | awk '$3 ~ /Z/'
kill -9 父进程PID
或者让父进程正常回收子进程(通常是程序 bug)
wait()如果你愿意,可以贴一下:
ps -eo pid,ppid,stat,cmd | awk '$3 ~ /Z/'
的输出,我可以帮你具体分析是哪里的问题。