在 CentOS(以及其它 Linux 发行版)中,僵尸进程(Zombie / Z 状态)本身不能被直接 kill 掉,因为它们已经退出,只是还在进程表里等着父进程回收。
ps -l
或
ps -eo pid,ppid,stat,cmd | grep ' Z'
状态为 Z 的就是僵尸进程。
ps -o pid,ppid,stat,cmd -p <僵尸PID>
优先:重启或通知父进程
kill -CHLD <父进程PID>
部分程序收到 SIGCHLD 会回收子进程。
如果父进程无响应或不重要:
kill -TERM <父进程PID>
或
kill -9 <父进程PID>
⚠️ 注意:
init(PID 1),不要 killinit 接管并自动回收✅ 解决方案:
ps -eo stat | grep Z | wc -l
僵尸进程杀不掉,只能杀它的父进程,或让父进程正确回收。
如果你愿意,可以把 ps 输出贴出来,我可以帮你具体分析是哪类问题。