我有一个生成子进程的主进程。当子进程被终止时,它将重新启动,但当它再次被终止时,它将不会重新启动。
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)。
发布于 2019-06-11 02:35:14
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中尝试上面的代码
发布于 2019-06-11 02:31:03
如果可以检查子进程的状态,则可以将其添加到setInterval函数中,检查它是否正在运行,如果没有,则重新调用它
https://stackoverflow.com/questions/56531654
复制相似问题