Undying Processes
There are many times that a process seems impossible to kill. Most of the time, the problem is insufficient privileges or the process trapping the SIGINT or SIGTERM signals. There are, however, cases when even properly sending a SIGKILL to a process will still fail to kill the process. This is called being in an uninterruptible sleep and occurs when a process is stuck in a system call (kernel space). An example of this occurring would be when a network share being read from suddenly becomes unavailable. I’ve recently had this happen using cifsd, which caused a network file to become unable to be opened even when the network share became available. Even restarting the service wouldn’t be able to fix the issue since the code is running in kernel space. The easiest (and only viable) solution is to simply reboot.