process-cleanup
This skill should be used when the user asks to "find zombies", "kill zombie processes", "clean up zombies", "check for zombie processes", "reap zombies", or mentions zombie process detection, cleanup, or process state monitoring.
What it does
Process Cleanup
Detect and reap zombie processes using /bin/ps.
Background
A zombie (state Z) is a process that has exited but whose parent hasn't called wait() to collect its exit status. Zombies consume no CPU or memory, but they hold a PID slot and can accumulate. You can't kill a zombie — it's already dead. The only remedies are:
- Signal the parent with
SIGCHLDso it reaps the child - Kill the parent so
init/launchdadopts and reaps the orphan
Important: use ps for process state queries
Always use ps (BSD) for process state queries. If ps is aliased, use /bin/ps to bypass it.
# List zombies
/bin/ps ax -o pid,state,ppid,user,command | awk '$2 ~ /Z/'
# List all processes with state
/bin/ps ax -o pid,state,ppid,etime,args
Usage
Run the helper script to scan for zombies:
# Detect only (default) — list zombie processes
bash scripts/kill-zombies.sh
# Reap zombies — send SIGCHLD to parent processes
bash scripts/kill-zombies.sh --kill
Safety
- Default mode is detect-only — no processes are signaled
- With
--kill, the script sendsSIGCHLDto parent processes (non-destructive nudge to reap) - If a parent ignores
SIGCHLD, the script reports the parent PID — confirm with the user before killing it - Never kill PID 1 (
init/launchd)
Capabilities
Install
Quality
deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 50 github stars · SKILL.md body (1,345 chars)