Stephen Gran on 18 May 2009 13:45:54 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] kill wont kill


On Mon, May 18, 2009 at 04:25:33PM -0400, Neill R said:
> I can't reboot this box, running rhel 4.4 kernel 2.6.9-42.
> 
> the problem is with SNMPD, it's trying to read a CIFS mount point that got
> taken offline
> 
> #//10.5.3.6/MMPA\040Label\040Print\040Files /mount/MMPA-PS cifs
> 
> We already tried mounting /mount/MMPA-PS to another CIFS share, no luck.
> Anyone know why kill wont kill?

It's fairly simple, really.  Kill works by sending signals.  A signal
must interrupt a process to be delivered.  A blocking read from disk
is an uninterruptable syscall, so the signal can't be delivered, so the
process doesn't die.  You may be able to (this works with processes stuck
reading from stdin, but I haven't tried with processes stuck reading from
an fd that's gone away) figure out which fd it's waiting on with strace,
and then cat or echo 4k or so of something into /proc/$pid/fd/$fd so
that the blocking read returns and the signal can be delivered.

Good luck - this sort of thing usually does just mean a reboot.  In very
new kernels, there is some effort at making things like read
interruptable, but you won't be seeing those changes with rhel4.
-- 
 --------------------------------------------------------------------------
|  Stephen Gran                  | I've got a bad feeling about this.      |
|  steve@lobefin.net             |                                         |
|  http://www.lobefin.net/~steve |                                         |
 --------------------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug