childprocess为什么捕获不到SIGINT信号
 发布于 12 年前  作者 nodehugo  5556 次预览  最后一次回复是 12 年前  来自  

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 回复
nodehugo

node.js版本 0.10.17

nodehugo

首先fatcher.js中少了一句话

child.stdout.pipe(process.stdout);

其次运行在windows下不行,但在linux下正常工作,看来平台还是要选对啊。