2011-09-06 19:12:00 iteye_14001 阅读数 338
用ps和grep命令寻找僵尸进程
#ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
命令注解:
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程
运行结果参考如下
Z 12334 12339 /path/cmd
这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程
运行后,可以再次运行ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'来确认是否已经将僵尸进程杀死
如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行
#kill -HUP 12334
来解决问题
一般可以用top命令发现动态进程表
#top
其中zombie是僵尸进程
10656 root 20 0 37.425g 668804 12508 S 1.0 0.3 1681:53 java
[2]+ Stopped top
(base) [root@slave14 flink-1.7.2]# jps
19680 FlinkYarnSessionCli
40304 pppark.jar
17861 FlinkYarnSessionCli
16038 jar
29978 httpbst.jar
18970 FlinkYarnSessionCli
13692 FlinkYarnSessionCli
32078 Jps
23967 FlinkYarnSessionCli
(base) [root@slave14 flink-1.7.2]# ps -aux | grep 18970
root 18970 0.0 0.0 0 0 pts/3 Z 10:32 0:07 [java] <defunct>
root 32605 0.0 0.0 112648 952 pts/0 S+ 14:30 0:00 grep --color=auto 18970
(base) [root@slave14 flink-1.7.2]# ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
Z 13501 13692 [java] <defunct>
Z 17670 17861 [java] <defunct>
Z 18775 18970 [java] <defunct>
Z 19445 19680 [java] <defunct>
Z 23775 23967 [java] <defunct>
(base) [root@slave14 flink-1.7.2]# ps -aux | grep 13501
root 13501 0.0 0.0 113248 1688 pts/3 T 10:14 0:00 bash /root/flink-1.7.2/bin/yarn-session.sh -d -s 2 -tm 800 -n 2
root 33638 0.0 0.0 112648 952 pts/0 S+ 14:39 0:00 grep --color=auto 13501
(base) [root@slave14 flink-1.7.2]# ps -aux | grep 13692
root 13692 0.0 0.0 0 0 pts/3 Z 10:14 0:08 [java] <defunct>
root 33666 0.0 0.0 112648 952 pts/0 S+ 14:39 0:00 grep --color=auto 13692
(base) [root@slave14 flink-1.7.2]# kill -9 13501
(base) [root@slave14 flink-1.7.2]# jps
19680 FlinkYarnSessionCli
40304 pppark.jar
17861 FlinkYarnSessionCli
33702 runtime.jar
16038 jar
18970 FlinkYarnSessionCli
33772 Jps
23967 FlinkYarnSessionCli
(base) [root@slave14 flink-1.7.2]# kill -9 17670 18775 19445 23775
(base) [root@slave14 flink-1.7.2]# jps
33936 cityshikuang15.jar
40304 pppark.jar
33702 runtime.jar
16038 jar
34264 Jps
33836 httpbst.jar
33885 pppark.jar
(base) [root@slave14 flink-1.7.2]#