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

test.js

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

setInterval(() => {
    console.log("test")
}, 250);


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

最佳答案

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中尝试上述代码

关于node.js - 重新启动子进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56531654/

10-12 00:36
查看更多