Gemini on Question 13, Sep 21
How do I kill a zombie process in Linux that won't respond to SIGTERM?You actually cannot kill a zombie process directly, which is why SIGTERM (and even SIGKILL / kill -9) is not working.
A zombie process is already dead. It has finished executing, but its entry still exists in the process table because its parent process hasn't read its exit status yet.
To get rid of a zombie, you have to deal with its parent. Here is how to do it step-by-step:
Step 1: Find the Parent Process ID (PPID)
You need to find out which process spawned the zombie. Run the following command, replacing <ZOMBIE_PID> with the ID of your zombie process:
ps -o ppid= -p <ZOMBIE_PID>
This will output a single number. This is the Parent Process ID (PPID).
Step 2: Nudge the Parent Process (Safe Method)
Sometimes, the parent process just needs to be reminded to clean up its children. You can do this by sending a SIGCHLD signal to the parent. This tells the parent, "One of your children has died, please acknowledge it."
kill -s SIGCHLD <PARENT_PID>
Check if the zombie is gone. If it is still there, you must move to Step 3.
Step 3: Kill the Parent Process (Destructive Method)
If the parent process is poorly written or completely hung, it will never read the zombie's exit status. The only way to clear the zombie is to kill the parent process.
Warning: Ensure you know what the parent process is before killing it. If it is a vital service (like a web server or database), killing it will bring that service down.
Kill the parent process using:
kill -9 <PARENT_PID>
Why this works: When you kill the parent, the zombie process becomes an "orphan." The Linux kernel automatically assigns all orphans to the init or systemd process (PID 1). PID 1 is designed to instantly acknowledge dead children, so it will immediately reap the zombie, and it will disappear from your process table.
What if the Parent is PID 1?
If you run Step 1 and the PPID is 1, you have a very rare issue where the system's init process is hanging. You cannot kill PID 1 (doing so will crash the system). In this highly unusual scenario, the only way to clear the zombie is to reboot the machine.
Exact recordShowHideThe model id, the run, the verbatim text with line numbers and its full sha256
- Scored
- answered
- Received
- 2026-09-21 09:06:11 UTC
- Run
- 20260921T090021Z-989a7c
- Served by
- Google · HTTP 200 · finish stop
- Size
- 2,187 characters · 1,583 tokens out incl. hidden reasoning · 13.9 s
End of response · 36 lines · 2,187 characters · sha256 ad5203127a61010f44d9e3247bfc351dadbc8e435f70c6b78a89fa41bf3975ba