v1.5.0: Cleaner process shutdowns
This release improves how pitchfork stops daemons and their child processes, making shutdown more reliable and eliminating orphaned processes.
Highlights
-
Process group-based shutdown — Pitchfork now spawns each daemon in its own process group via
setsid()and useskillpg()to signal the entire group at once. This replaces the old approach of walking/procto find children, which was prone to race conditions where a child could fork between the scan and the kill. Daemons that spawn multiple children (e.g.npm run dev) will now shut down cleanly and atomically. #239 -
SIGKILL escalation after SIGTERM — When a daemon doesn't respond to SIGTERM, pitchfork now automatically escalates to SIGKILL to ensure the process is terminated. No more stuck daemons that ignore graceful shutdown signals. #238 — thanks @gaojunran!
For full documentation, see pitchfork.jdx.dev.