1af8020758
- Use detached process group (non-Windows) + process.kill(-pid) to kill the entire process tree, not just the outer shell wrapper - Add proc.stdin error listener to absorb EPIPE when child exits before stdin write completes