我需要找到一个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分钟运行一次。
如果app在pm2下运行,脚本将重启,否则它将启动它。您足够聪明,可以根据您的用例进行编辑