Relating to question : What if 'kill -9' does not work?
I have following situation : zombie process with threads, not collected by init :
[root@Arch64]# ps auxH | grep java
gwpl 569 0.0 0.0 0 0 ? Zl 04:23 0:00 [java] <defunct>
gwpl 569 5.5 49.0 1466648 375572 ? Rl 07:25 23:55 [java] <defunct>
gwpl 569 16.0 49.0 1466648 375572 ? Rl 12:27 20:54 [java] <defunct>
gwpl 569 17.9 49.0 1466648 375572 ? Rl 12:47 19:48 [java] <defunct>
root 10466 0.0 0.0 6740 628 pts/0 S+ 14:38 0:00 grep java
[root@Arch64]# pstree -s 569
init---java---3*[{java}]
Can I do anything about that ?
Or is it init bug as suggested in comment to https://unix.stackexchange.com/a/11173/9689 ?
If it's a bug, what should I dump to help fixing it?
Above listing uses following status codes: Zl
, Rl
, S+
. Here is cheatsheet from man ps
to decode them:
PROCESS STATE CODES
(...)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
(...)
Z Defunct ("zombie") process, terminated but not reaped by its parent.
For BSD formats and when the stat keyword is used, additional characters may be displayed:
(...)
L has pages locked into memory (for real-time and custom IO)
(...)
+ is in the foreground process group
init
doesn't collect its (adopted) children, it's a bug ininit
. – Gilles 'SO- stop being evil' Aug 25 '12 at 23:51