Detects zombie processes using /bin/ps and reaps them safely via SIGCHLD signals to parents or killing stubborn parents with a bash script.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin paulrberg-agent-skillsThis skill uses the workspace's default tool permissions.
Detect and reap zombie processes using `/bin/ps`.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Detect and reap zombie processes using /bin/ps.
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:
SIGCHLD so it reaps the childinit/launchd adopts and reaps the orphanps for process state queriesAlways 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
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
--kill, the script sends SIGCHLD to parent processes (non-destructive nudge to reap)SIGCHLD, the script reports the parent PID — confirm with the user before killing itinit/launchd)