在node.js中正常重启

时间:2013-11-27 16:55:06

标签: javascript node.js exception

我在node.js中有一个互联网半依赖代码

它取决于互联网的更新和启动。

使用process.on('uncaughtException')我能够解决所有互联网连接问题。

我想要的是一种停止脚本,等待一段时间,然后从头重启应用程序的方法。

我试过了:

process.on('uncaughtException', function(err) {
    console.log('Caught fatal error ' + err + ', will restart in 10sec');
    setTimeout(function() {
        var arg = ['-c', 'sh start.sh'],
            child = spawn('bash', arg);
        process.exit();
    }, 10000);
});
它确实重启了脚本,但是在另一个实例中,这意味着当我按ctrl + c来杀死进程时,我的日志显示了node.js的X实例在哪里运行。 (以多个'用户终止进程结束日志结束。杀死路径/到/ app.js')  我想在产生start.sh

之前杀死脚本

(nb:start.sh是一个简单的bash脚本,用一些参数启动我的应用程序)。

1 个答案:

答案 0 :(得分:3)

有一个外部工具来监控它并在退出后重新启动它,您可以使用forevernode-supervisor或简单的重复cron