childprocess为什么捕获不到SIGINT信号
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.’); });
为什么子进程捕获不到父进程的信号? 如果单独运行node child.js,通过ctrl+c,却可以捕捉到
2 回复
node.js版本 0.10.17
首先fatcher.js中少了一句话
child.stdout.pipe(process.stdout);
其次运行在windows下不行,但在linux下正常工作,看来平台还是要选对啊。