Quote:
a zombie program ... kill -9 even failed on it

You cannot kill a zombie process because it no longer exists. A zombie process is a process that has already exited but whose parent process hasn't bothered to read its exit status. The zombie process exists only in the process table, not in memory or anywhere else. There's only enough of it left to report back to its parent. The only way to get a zombie process to go away is to get its parent to "wait" on the process. Since zombie processes are usually due to a bug in the parent process, that often means killing the parent process, at which point the zombie's parent will become PID 1, init, which will reap the process.

What all of this means is that there shouldn't be a state where you really have to reboot. But that doesn't mean that it's not hopelessly broken.
_________________________
Bitt Faulk