父进程在 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 ]
});
默认情况下,当您在 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 ]
});