我需要找到一个 cron 命令,该命令可以使用进程重新启动 pm2,但前提是该进程尚未运行
pm2 start app.js
会启动应用程序,即使它已经在运行。
我可以使用的另一个命令是什么,它只会重新启动 app.js
(如果它尚未运行)以及如何在 crontab 中编写它?
最佳答案
pm2 中没有默认方法来实现此目的,您可以为此编写 shell 脚本。
#!/bin/bash
pm2 describe appname > /dev/null
RUNNING=$?
if [ "${RUNNING}" -ne 0 ]; then
pm2 start ./yourscriptpath
else
pm2 restart appname
fi;
将此 shell 脚本保存为 pm2_starter.sh
,然后
crontab -e
并添加以下内容
*/30 * * * * ./home/ridham/stackoverflow/pm2_starter.sh
这将每 30 分钟运行一次。
如果应用程序在 pm2 下运行,脚本将重新启动,否则它将启动它。您足够聪明,可以根据您的用例进行编辑
关于node.js - 如何使用cron重启PM2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49026393/