如何解决Fork 子进程卡在脚本执行之间
在执行脚本时,有时它甚至没有创建子进程并卡在那里。 这是主文件
const forkProcess = (shop) => {
const program = './fetchSS.js';
const parameters = [];
const options = {
stdio: ['pipe','pipe','ipc']
};
let child = fork(program,parameters,options);
child.shop_id = shop.id;
child.stdout.on('data',(data) => {
console.log('Child data:');
console.log(data.toString());
});
child.stderr.on('data',(data) => {
console.log('Error on child',data);
clearMemory(child.shop_id);
child.kill();
});
child.on('exit',(code) => {
if (code > 0) {
console.log('Error in child',code);
clearMemory(child.shop_id);
}
child.kill();
});
child.on('message',data => {
if (data.isCompleted) {
clearMemory(data.shopId);
}
if (data.isFailed) {
clearMemory(data.shopId);
}
fetch();
child.kill();
});
child.send({...shop,go: true});
return child;
};
when script is getting stop (screenshot)
附言所有数据都是准确的,如果我尝试重新运行脚本,则不会出现错误,有时它也会执行而不会卡住。
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。