> You can't kill a process while it still has filehandles open.
You should add to that "and uninterruptable I/O is happening on them". You can kill a process with open filehandles just fine otherwise.
In addition to what has already been said, a process can get stuck in uninterruptable I/O if you have severe file system corruption, bad RAM, or just buggy kernel.
If you have a reproducable way to get them stuck in D, enable sysrq magic on the kernel, then get them stuck and hit the "secret combination" to dump the trace to syslog, and then resolve with ksymoops. This will give you a clue as to why they are getting stuck.
-- Sasha Pachev AskSasha Linux Consulting http://www.asksasha.com
.===================================. | This has been a P.L.U.G. mailing. | | Don't Fear the Penguin. | | IRC: #utah at irc.freenode.net | `==================================='
