subprocess.unref()
默认情况下,父进程会等待已分离的子进程退出。要防止父进程等待特定的 subprocess 退出,可以使用 subprocess.unref() 方法。这样做会导致父进程的事件循环不将子进程计入引用计数,从而允许父进程独立于子进程退出,除非子进程与父进程之间建立了 IPC 通道。
🌐 By default, the parent will wait for the detached child to exit. To prevent the
parent from waiting for a given subprocess to exit, use the
subprocess.unref() method. Doing so will cause the parent's event loop to not
include the child in its reference count, allowing the parent to exit
independently of the child, unless there is an established IPC channel between
the child and the parent.
const { spawn } = require('node:child_process');
const subprocess = spawn(process.argv[0], ['child_program.js'], {
detached: true,
stdio: 'ignore'
});
subprocess.unref();