每当它停止时启动节点应用程序

时间:2016-10-27 19:42:47

标签: node.js express npm mean-stack nohup

我的节点应用程序中没有任何错误,但在某些请求后它会停止。虽然我启用了日志并进行了检查,但它显示了不同的请求。

是否可以在节点应用程序停止时启动它?

目前我正在使用它来启动节点应用

启动应用

nohup npm start &

并找到进程ID

ps aux | grep node

并杀死某些进程

kill -9 PID

我不想让应用停止。它应该永远运行。那么,是否可以在应用程序停止时启动它。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用PM2为您监控并重新启动应用。 默认情况下,如果您使用PM2运行应用程序,它将在崩溃时自动重新启动它。

npm install pm2@latest -g
pm2 start index.js

PM2还可用于运行多个实例,并具有停止/重新启动单个实例的命令。

您也可以使用pm2 list获取流程PID。

更强大的用例:

让PM2运行'npm start'启动你的应用程序,并给它一个名称以便稍后引用它(如果它退出/崩溃它会自动重启)

pm2 start npm --name="mySuperApp" -- start

稍后您进行了一些更改,并希望重新启动它:

pm2 restart mySuperApp

最终您要停止该应用:

pm2 stop mySuperApp

答案 1 :(得分:2)

你可以使用nodemon

使用npm install -g nodemon

进行安装

并运行您的代码:nodemon index.js

查找更多文档here

它将一直运行,直到您的应用遇到错误,但您可以在控制台中使用rs重新启动它