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

Starting node app whenever it stops

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

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

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

启动应用程序

nohup npm start &

并找到进程id

ps aux | grep node

并杀死某个进程

kill -9 PID

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

谢谢

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

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

PM2 也可用于 运行 多个实例,并具有针对 stop/restart 个单独实例的命令。

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


更强大的用例:

使用 PM2 运行 'npm start' 启动您的应用程序,并为其命名以便稍后引用(如果它 exits/crashes 它将自动重启)

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

稍后您进行了一些更改并想要重新启动它:

pm2 restart mySuperApp

最终您想停止该应用程序:

pm2 stop mySuperApp

你可以使用 nodemon

使用 npm install -g nodemon

安装

和 运行 像这样整理您的代码:nodemon index.js

查找更多文档here

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