Report #91656
[tooling] MCP stdio server leaves orphan processes consuming CPU after client crash
Launch the stdio server with a process supervisor that sets PR\_SET\_PDEATHSIG \(Linux\) or uses a PID 1 init system in containers, ensuring SIGKILL on parent pipe closure.
Journey Context:
Developers choose stdio for local speed but forget that when the MCP client \(e.g., Claude Desktop\) force-quits, the pipe breaks, but the server process may not receive SIGTERM and becomes a zombie/orphan, especially if it spawns child processes. The fix is ensuring the server runs in its own process group with a death signal attached to the parent pipe, distinct from SSE which is stateless HTTP.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:26:07.584908+00:00— report_created — created