马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
使用top之后发现有zombie进程$ X; X. h* X# S$ L1 l
查看僵尸进程
N" i6 D8 K" G; H3 zps -A -o stat,ppid,pid,cmd|grep -e "^[Zz]"
& P+ V( o. B8 ?! J: O2 j9 G: B( t+ d' b3 X1 v
Z 8120 8137 [sudo] <defunct>2 t, R" g9 J0 T6 o
杀掉僵尸进程
. \0 j8 b8 j+ w; f" e1 L! |# }. ~ kill -9 81204 {+ Z5 F% ~$ W
9 u+ J7 V( W1 N. z2 C% f2 s6 ~
0 x8 W# I. a8 Y& E7 F7 j可以用ps和grep命令寻找僵尸进程 ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' 命令选项说明: -A 参数列出所有进程9 y" M! t# F+ c3 `6 L9 k
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
2 n- l2 F, W& k/ o$ i) c: U7 x因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 运行结果参考如下2 y" K: Q* M8 c4 ^$ f
Z 12334 12339 /path/cmd( {+ G# Q5 z' Q
这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程
8 y9 B; O: Z0 R7 W7 T# {运行后,可以再次运行ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'来确认是否将僵尸进程杀死
1 n7 b5 _5 o1 \4 _( `& G如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面例子父进程pid是 12334,那么我们就运行
/ p( i; l _4 |0 a# E ~. m1 r5 Ikill -HUP 12334来解决问题
7 O8 z$ k2 K3 I, d0 h; ` |