name: cleanup-zombies description: Kill zombie dev servers and test processes. Use when ports are blocked, processes are hanging, or test runners won't start. allowed-tools: '*' effort: low
Cleanup Zombies
Kill zombie processes (dev servers, Playwright browsers, test runners) for the current project only. Safe to use in multi-project environments.
Instructions
Run the cleanup script with --dry-run first to preview what will be killed:
./.safeword/scripts/cleanup-zombies.sh --dry-run
If the output looks correct, run without --dry-run:
./.safeword/scripts/cleanup-zombies.sh
What It Does
- Auto-detects framework - Finds port from vite.config.ts, next.config.js, etc. (checks root,
packages/*/,apps/*/for monorepos) - Kills by port - Dev server port AND test port (port + 1000)
- Kills test processes - Playwright, Chromium, Electron (scoped to this project)
- Multi-project safe - Only kills processes matching this project's directory
Manual Override
If auto-detection fails or you need a specific port:
# Explicit port
./.safeword/scripts/cleanup-zombies.sh 5173
# Port + additional pattern
./.safeword/scripts/cleanup-zombies.sh 5173 "electron"
When to Use
- Port already in use when starting dev server
- Tests hanging or failing due to zombie processes
- Switching between projects
- Before running E2E tests
- After interrupted test runs