It all starts as a normal Monday. Last time you operated with your system, everything worked fine. And then you find it, a zombie lurking in your tasks.
$ top top - 12:49:16 up 2:30, 6 users, load average: 0.18, 0.35, 0.42 Tasks: 195 total, 2 running, 190 sleeping, 2 stopped, 1 zombie
It is time to find the zombie process by running the following command in Terminal:
$ ps aux | grep Z USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 1001 6286 0.0 0.0 0 0 ? Zs 12:10 0:00 [adb]
So. The Zombie is an adb command. It does not take any CPU or memory, but it blocks your adb from working at all. Killing it with $ kill -9 6286 does not help. $ killall -9 adb does not help either but still the Zombie adb blocks development. It is time to find adb’s parent process and go for it.
You can find the parent of the Zombie by running the following command in Terminal:
$ pstree
From the pstree you can see, that the parent of adb is java. So, time to prime your cannon and kill the parent process.
$ killall -9 java
After the parent process has been eliminated, the zombie process is also gone.
$ top top - 13:04:18 up 2:45, 6 users, load average: 0.84, 0.79, 0.63 Tasks: 194 total, 1 running, 192 sleeping, 1 stopped, 0 zombie
And now, you can happily return to what ever development you were doing.