childprocess为什么捕获不到SIGINT信号
发布于 11 年前 作者 nodehugo 4986 次浏览 最后一次编辑是 8 年前

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下正常工作,看来平台还是要选对啊。

回到顶部