What can cause "kill -9 pid" to fail?

Generally if a process won't respond to "kill -9", it means it's waiting for some resource. Sometimes that's a file or network read, sometimes it has a child process that hasn't exited and it's waiting for it to be reaped, or its parent is hung and can't reap it. In the latter case, the process will show up in "ps" with a status of "Z" for "Zombie".


If the process is in the uninterruptible sleep, you can't kill it without removing the cause of sleep, but I don't think it eats any CPU in that state (and iowait is not a part of process CPU utilization, AFAIK). If the process can't be killed because of kernel OOPS - you'd better reboot.


Ask ps auxf what child processes the zombie-PID has and try to kill them first.