father.js
var spawn = require('child_process').spawn;
var child = spawn('node',['child.js']);
setInterval(function(){
child.kill('SIGINT');
},2000);
child.on('exit',function(code,signal){
console.log('process exit '+code+' '+signal);
});
child.js
process.stdin.resume();
process.on('SIGINT', function() {
console.log('Got SIGINT. Press Control-D to exit.');
});
节点版本:0.10.17
为什么子进程无法捕获“SIGINT”?但如果你单独运行 node child.js,它可以捕获Ctrl+C终止 cmd 的信号。