有没有大佬来解答一下 [root@web]# ps -ef | grep defunct root 13369 11252 0 10:17 pts/3 00:00:00 grep –color=auto defunct root 43574 1 5 4月17 ? 5-13:10:42 [java] <defunct> |
#!/bin/bash # 获取所有僵尸进程的 PID zombie_pids=$(ps -eo pid,stat | grep -w "Z" | awk ‘{print $1}’) # 如果没有僵尸进程,退出 if [ -z "$zombie_pids" ]; then echo "没有发现僵尸进程" exit 0 fi echo "发现以下僵尸进程:" echo "$zombie_pids" # 根据 PID 杀死僵尸进程 for pid in $zombie_pids; do echo "正在清理僵尸进程 $pid…" kill -9 $pid done echo "僵尸进程已清理完毕." |
本帖最后由 misakafa 于 2024-7-23 10:33 编辑
试过了,进程已经被系统的init进程接收了,kill -9不管用 |