父进程在 Node.js 中自动杀死 child_processes

Parent process automatically killing child_processes in Node.js

默认情况下,当您在 Node.js 父进程上调用 process.exit() 时,它会终止它生成的子进程。如果这是正确的,那么防止这种情况发生的最佳方法是什么?

我的一个猜测是试图通过在子代码中这样做来覆盖 SIGTERM 的默认行为,但没有奏效:

process.on('SIGTERM',function(msg){
    console.log('SIGTERM...');
});

但这显然行不通,因为它只是添加了一个名义上的侦听器,并没有覆盖任何行为。

options.detached 设置为 true 以使子进程成为新进程组和会话的领导者。

例子

 var child = spawn('prg', [], {
   detached: true,
   stdio: [ 'ignore', out, err ]
 });