fix(core): disable detached mode in Bun to prevent immediate SIGHUP of child processes (#22620)

This commit is contained in:
euxaristia
2026-04-21 16:01:28 -04:00
committed by GitHub
parent 8999a885f0
commit c47233a474
@@ -531,12 +531,18 @@ export class ShellExecutionService {
cwd: finalCwd,
} = prepared;
// Bun's child_process does not properly call setsid() for detached
// processes, leaving children in the parent's session without a
// controlling terminal. They receive SIGHUP immediately. Disable
// detached mode in Bun; killProcessGroup already falls back to
// direct-pid kill when the group kill fails.
const isBun = 'bun' in process.versions;
const child = cpSpawn(finalExecutable, finalArgs, {
cwd: finalCwd,
stdio: ['ignore', 'pipe', 'pipe'],
windowsVerbatimArguments: isWindows ? false : undefined,
shell: false,
detached: !isWindows,
detached: !isWindows && !isBun,
env: finalEnv,
});