首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新启动子进程

重新启动子进程
EN

Stack Overflow用户
提问于 2019-06-11 02:23:54
回答 2查看 870关注 0票数 1

我有一个生成子进程的主进程。当子进程被终止时,它将重新启动,但当它再次被终止时,它将不会重新启动。

test.js

代码语言:javascript
复制
const fork = require('child_process').fork;
const path = require('path');
const test = path.resolve('test2.js');
let test_child = fork(test);

test_child.on("close", () => {
    console.log("child gone");
    setTimeout(() => {
        test_child = fork(test);
    }, 2500)
});

test2.js

代码语言:javascript
复制
setInterval(() => {
    console.log("test")
}, 250);

我希望主进程(test.js)在由于某种原因崩溃或停止时继续启动(test2.js)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-11 02:35:14

代码语言:javascript
复制
const fork = require('child_process').fork;
const path = require('path');
const test = path.resolve('child.js');
function  repeat() {
let test_child = fork(test);

test_child.on("close", () => {
    console.log("child gone");
    setTimeout(() => {
      repeat();
    }, 25)
});
}

repeat();

您可以在main.js中尝试上面的代码

票数 2
EN

Stack Overflow用户

发布于 2019-06-11 02:31:03

如果可以检查子进程的状态,则可以将其添加到setInterval函数中,检查它是否正在运行,如果没有,则重新调用它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56531654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档