使用NodeJS重新启动当前实例

时间:2016-09-07 13:06:53

标签: node.js npm child-process

我想使用NodeJS和NPM在此应用程序中重新启动我的应用程序。

它不适用于child_process

var exec = require('child_process').exec;
exec('npm restart', function(error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
        console.log('exec error: ' + error);
    }
});

2 个答案:

答案 0 :(得分:0)

如果你的主人过程死了,他就无法自己复活。

请查看Nodemon以重新启动脚本。

答案 1 :(得分:0)

另一个选项:您可以使用forever npm模块启动和监控应用。 所以重启函数如果来自api:

app.get('/restart', function (req, res, next) {
  process.exit(1);
});

或者,如果您正在使用群集方法,则可以终止子进程并分叉新进程,如下所示[checkout cluster documentation for node,

cluster.on('exit', function (worker) {
    logger.info('Worker ' + worker.id + ' died :(, starting another one.');
    cluster.fork();
});