Zombie process using CPU

John Tapsell johnflux at gmail.com
Tue Apr 20 10:06:28 UTC 2010


On 20 April 2010 18:47, Andy Whitcroft <apw at canonical.com> wrote:
> On Tue, Apr 20, 2010 at 01:45:27PM +0900, John Tapsell wrote:
>> Hi,
>>
>>   After a program (vuze) crashed I ended up in the situation of having
>> a process, java, using 100% CPU of a core while also being a zombie.
>>
>>   Looking in /proc/<pid>/task  I saw two pids - the main task and a
>> subtask.  The main task (cat /proc/<pid>/task/<pid>/status ) was
>> indeed a zombie, but the subtask was still running and using CPU.
>>
>>   I could not find any way to kill this process. kill -9  on the <pid>
>>  and on the pid on the subtask did nothing.  In the end I had to
>> reboot.
>>
>>   is this situation supposed to be possible?  How do I kill a subtask?
>
> A zombie should indeed be nothing more than a shell.  I am not sure
> there is even anything to run once a process hits Z state.  It is more
> likely that the accounting is wrong than it was actually consuming the
> CPU claimed.  Cirtainly it is not something I have experienced here.

The problem is that its _subtask_ is running and using CPU.

Specifically:

$ cat /proc/5728/status  | grep State
State:  Z (zombie)

$ ls /proc/5728/task/
5728  5810

$ kill -9 5810
$ cat /proc/5728/task/5810/status | grep State
State:  R (running)

So this process '5810' is running despite the kill -9.




More information about the kernel-team mailing list