当node.js进程退出时,如何杀死所有子进程(使用child_process.spawn生成)?
最佳答案
我认为唯一的方法是保留对ChildProcess
返回的spawn
对象的引用,并在退出主进程时将其杀死。
一个小例子:
var spawn = require('child_process').spawn;
var children = [];
process.on('exit', function() {
console.log('killing', children.length, 'child processes');
children.forEach(function(child) {
child.kill();
});
});
children.push(spawn('/bin/sleep', [ '10' ]));
children.push(spawn('/bin/sleep', [ '10' ]));
children.push(spawn('/bin/sleep', [ '10' ]));
setTimeout(function() { process.exit(0) }, 3000);
关于node.js - 如何在退出时杀死所有子进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15833047/