gpt4 book ai didi

node.js - 为什么子进程无法捕获 'SIGINT'

转载 作者:太空宇宙 更新时间:2023-11-03 23:43:27 27 4
gpt4 key购买 nike

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 版本:0.10.17

为什么子进程无法捕获“SIGINT”?但如果单独运行 node child.js,它可以捕获 Ctrl+C 终止 cmd 的信号。

最佳答案

它确实收到了SIGINT!只是您没有监听子进程的输出。在father.js中添加这一行即可查看。

child.stdout.pipe(process.stdout);

关于node.js - 为什么子进程无法捕获 'SIGINT',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18427653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com