ps aux | grep 'Z':筛选状态为“Z”的僵尸进程,显示PID、父进程ID(PPID)等信息。top/htop:在进程列表中查看状态为“Z”的进程。# 查找僵尸进程父进程PID
ps -o ppid= -p <僵尸进程PID>
# 发送信号
kill -s SIGCHLD <父进程PID>
kill -9 <父进程PID>
注意:若父进程为init(PID=1),此方法无效,需重启系统。sudo systemctl restart <服务名>
cron定时任务:# 示例脚本(保存为zombie_cleaner.sh)
#!/bin/bash
for pid in $(ps -eo pid,state | awk '$2~/Z/ {print $1}'); do
parent_pid=$(ps -o ppid= -p $pid)
kill -s SIGCHLD $parent_pid || kill -9 $parent_pid
done
添加定时任务:crontab -e
# 添加:*/30 * * * * /path/to/zombie_cleaner.sh
wait()或waitpid()系统调用。top、htop或systemd-cgtop实时监控进程状态,及时发现异常。参考来源: