subprocess.unref()
默认情况下,父进程将等待分离的子进程退出。
为了防止父进程等待给定的 subprocess
退出,则使用 subprocess.unref()
方法。
这样做会使父进程的事件循环不将子进程包括在其引用计数中,从而允许父进程独立于子进程退出,除非在子进程和父进程之间建立了 IPC 通道。
const { spawn } = require('node:child_process');
const subprocess = spawn(process.argv[0], ['child_program.js'], {
detached: true,
stdio: 'ignore'
});
subprocess.unref();
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();