我想使用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);
}
});
答案 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();
});