在 CentOS(以及其他 Linux 发行版)中,可以通过以下几种方式查看僵尸进程(Zombie / Z 状态进程)。
ps 命令查看僵尸进程ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
或更直接:
ps aux | grep ' Z '
Z:僵尸进程(zombie)Z+:前台僵尸进程top 命令查看top
在顶部信息中关注这一行:
Tasks: xxx total, x zombie
如果有 zombie 数量不为 0,说明系统存在僵尸进程。
在 top 中按:
f → 选 STAT 显示状态Zhtop(推荐,更直观)如果已安装:
htop
F4 过滤 Z安装(如未安装):
yum install -y htop
僵尸进程本身无法被 kill,需要杀掉或重启其父进程。
ps -o pid,ppid,stat,cmd -C <进程名>
或查看某个僵尸进程的父进程:
ps -o pid,ppid,stat,cmd | awk '$3 ~ /Z/'
示例:
ps -l <僵尸PID>
kill -9 父进程PID
systemctl restart 对应服务
wait()如果你愿意,可以把 ps aux 或 top 的输出贴出来,我可以帮你具体分析是哪个进程导致的僵尸。