can't kill crashed processes

Rick Stevens rstevens at vitalstream.com
Thu Jan 27 19:39:23 UTC 2005


Benjamin Hornberger wrote:
> At 11:11 AM 1/27/2005 -0800, you wrote:
> 
>> Benjamin Hornberger wrote:
>>
>>> Hi all,
>>> I have the problem that I can't kill certain frozen processes on RHEL 
>>> AS 3. Somehow, up2date crashes each time when I try to run it from a 
>>> Win XP machine tunneled through SSH (with Exceed running), and now I 
>>> have three of these processes around.
>>> [root at host root]# ps -ef | grep up2date
>>> root      3178     1  0 09:33 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      3366     1  0 09:44 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6851     1  5 13:43 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6918  6871  0 13:45 pts/3    00:00:00 grep up2date
>>> [root at host root]# kill -9 3178
>>> [root at host root]# ps -ef | grep up2date
>>> root      3178     1  0 09:33 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      3366     1  0 09:44 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6851     1  4 13:43 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6920  6871  0 13:45 pts/3    00:00:00 grep up2date
>>> [root at host root]# kill -9 3366
>>> [root at host root]# ps -ef | grep up2date
>>> root      3178     1  0 09:33 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      3366     1  0 09:44 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6851     1  4 13:43 ?        00:00:05 /usr/bin/python -u 
>>> /usr/sbin/up2date
>>> root      6922  6871  0 13:45 pts/3    00:00:00 grep up2date
>>> [root at host root]#
>>
>>
>> Do a "ps -ax" and see if the processes are shown with "<defunct>".  If
>> so, they're zombies and you won't be able to get rid of them unless you
>> kill their parent process.  In your case, the parent process is "init"
>> (the master process) and the only way to kill init safely is to reboot.
> 
> 
> [root at host root]# ps -ax | grep up2date
>  3178 ?        D      0:05 /usr/bin/python -u /usr/sbin/up2date
>  3366 ?        D      0:05 /usr/bin/python -u /usr/sbin/up2date
>  6851 ?        D      0:05 /usr/bin/python -u /usr/sbin/up2date
>  7335 pts/13   S      0:00 grep up2date
> [root at host root]#
> 
> If I understand the ps man pages right, the "D" means "uninterruptible 
> sleep", and not "defunct" (which would be "Z"). Anything else I can do?

You're right, Z is zombie, D is "deferred" (same as uninterruptible
sleep).  Processes in "D" state are generally waiting for some form of
I/O.  If they're there for a long time (and they've used 5 seconds of
CPU--that's a lot!), then something evil happened and I consider them
zombies, but they're orphaned zombies.  You can't kill them as they're
stuck in kernel land.  You still have to reboot.  Sorry.
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-                       When in doubt, mumble.                       -
----------------------------------------------------------------------




More information about the Redhat-install-list mailing list