Spot ghost processes that are zombie-walking through your system
Process & Resource Monitoring (Top/Htop/Ps/Systemd)
Spot ghost processes that are zombie-walking through your system
🧩 The Challenge
Dealing with a process that shows up as defunct in ps but won’t go away is a special kind of hell. You end up staring at it wondering if you missed a stray child process or if the parent just gave up on life.
💡 The Fix
Use a specific ps format string to track down exactly which parent process is ignoring its dead children so you can kill the root cause instead of the symptom. It saves you from guessing which daemon is leaking zombies.
ps auxww | awk '{if ($8=="Z") print $0}'
ps -o pid,ppid,state,command | grep 'Z'
⚙️ Why It Works
Setting the output format to display both the process ID and the parent process ID lets you see exactly who owns the zombie. Since the kernel keeps the process entry around for the parent to read the exit status, finding the parent is the only way to actually clean it up.
🚀 Pro-Tip: If the parent is PID 1, your init system is likely misbehaving and you might be looking at a reboot-level event.
Linux Tips & Tricks | © ngelinux.com | 7/16/2026
