父进程自动终止Node.js

时间:2015-10-14 21:13:04

标签: node.js child-process

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

我猜测的一点,那就是尝试覆盖SIGTERM的默认行为,通过在子代码中执行此操作:

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

但这显然不会奏效,因为它只是增加了一个名义上的听众,而且不会覆盖任何行为。

1 个答案:

答案 0 :(得分:1)

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

实施例

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