Javascript 在node.js中优雅地重新启动

Javascript 在node.js中优雅地重新启动,javascript,node.js,exception,Javascript,Node.js,Exception,我在node.js中有一个半依赖于internet的代码 它依赖于互联网的更新和启动 通过process.on('uncaughtException'),我能够解决所有互联网连接问题 我想要的是一种方法来停止脚本,等待给定的时间量,并重新启动应用程序从一开始 我试过: process.on('uncaughtException', function(err) { console.log('Caught fatal error ' + err + ', will restart in 10

我在node.js中有一个半依赖于internet的代码

它依赖于互联网的更新和启动

通过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实例正在运行。 (通过多个“用户终止进程。终止路径/to/app.js”结束日志) 我想在生成start.sh之前终止脚本


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

有一个外部工具来监视它,并在它退出后重新启动它,你可以使用,或者一个简单的循环使用。

我使用的是supervisor,它非常可靠。