Kill -9 does not work
From Noah.org
Why doesn't kill -9 work?
They say "kill -9" will kill any process, but sometimes you will find a process that can't be killed even with "kill -9". Usually this means you are trying to kill a <defunct> zombie process. The parent process of a zombie must clean up the process (by calling wait()). You don't usually have to worry about these as they don't take any CPU or memory -- although they do take up a slot in the PID table.
Sometimes an unkillable process is stuck waiting for the kernel to finish something. kill -9' will not work if your process is waiting for stuck kernel I/O such as waiting for a bad disk or by unplugging a device that is not supposed to be hot-swapable. Sometimes you see it with network filesystems such as NFS or SaMBa. Usually the kernel will eventually timeout on the hardware call, but sometimes the only thing to do is reboot.