Вот несколько вариантов:
1)
top | grep zombie 225 processes: 1 running, 222 sleeping, 2 zombie |
2)
ps aux | grep -w Z root 3994 0,0 0,0 0 0 ?? Z 13июн11 16:23,02 <defunct> root 3995 0,0 0,0 0 0 ?? Z 13июн11 13:43,28 </defunct><defunct></defunct> |
3)
ps -alx | awk '$10 ~ /STAT|Z/' |
Что касается «убийства», то их нельзя просто так убить. Самый правильный вариант — найти родительский процесс и перезапустить его. Некоторые могут посоветовать и перегрузиться, но это не выход.
Находим родительский процесс:
ps ajx | grep -w Z root 3994 3992 3992 3992 0 Z ?? 16:23,02 <defunct> root 3995 3992 3992 3992 0 Z ?? 13:43,28 <defunct> |
3-я колонка как раз и показывает pid родительского процесса. Смотрим, что это за процесс:
ps auxww | grep 3992 root 3992 0,0 0,2 30664 9872 ?? Ss 13июн11 0:08,21 [exilog_agent] (perl5.12.3) |
Собственно мы нашли виновника. Это exilog_agent. А дальше — либо просто прибиваем родительский процесс либо перезапускаем его:
# kill -9 3992 # top | grep zombie |