javascript – 从代码级别重新启动node.js应用程序

我有一个应用程序,它最初创建静态配置文件(一次),在写入文件后,我需要重新初始化/重新启动应用程序.
是否有东西从自身重新启动node.js应用程序?

这是必需的,因为我在node.js中运行了两个运行级别的应用程序.
最初的一个启动完全同步,在此级别完成后,app在先前启动的环境中处于异步运行级别.

我知道有像nodemon这样的工具,但这不是我需要的.

我试图通过process.kill()杀死应用程序,但是我无法监听kill事件:

 // Add the listener
 process.on('exit', function(code) {
    console.log('About to exit with code:', code);
    // Start app again but how?
 });

 // Kill application
 process.kill();

或者有更好,更清洁的方法来处理这个问题吗?

解决方法:

找到一个工作案例来从app本身重新启动node.js:

例:

// Optional part (if there's an running webserver which blocks a port required for next startup
try {
  APP.webserver.close(); // Express.js instance
  APP.logger("Webserver was halted", 'success');
} catch (e) {
  APP.logger("Cant't stop webserver:", 'error'); // No server started
  APP.logger(e, 'error');
}


// First I create an exec command which is executed before current process is killed
var cmd = "node " + APP.config.settings.ROOT_DIR + 'app.js';

// Then I look if there's already something ele killing the process  
if (APP.killed === undefined) {
  APP.killed = true;

  // Then I excute the command and kill the app if starting was successful
  var exec = require('child_process').exec;
  exec(cmd, function () {
    APP.logger('APPLICATION RESTARTED', 'success');
    process.kill();
  });
}

我在这里看到的唯一的问题是在控制台上松散输出,但如果有任何东西登录到日志文件,这不是问题.

上一篇:MySQL数据库和Python的交互


下一篇:矩阵快速幂