繁体   English   中英

在node.js中正常重启

[英]Gracefully restart in node.js

我在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脚本,用一些参数启动我的应用程序)。

有一个外部工具来监视它并在它退出后重新启动它,你可以永远使用, node-supervisor或一个简单的recurrent cron

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM