当我想停止节点脚本时,我通常使用CTRL+C
.是否可以让 CronJob 自动为我停止它?
(我希望 cronjob 使用node .
并在 4 小时后退出节点进程并再次使用node .
(。
如果可能,如何?(示例视频或脚本会对我有很大帮助(
如果您需要有关此的更多信息,请告诉我,即使它几乎是不言自明的,但我不喜欢提供解释和信息。
首先,您需要使用像 pm2 这样的进程管理器运行节点应用程序,这将确保您的应用程序在您需要运行时保持运行。
然后,您将创建一个每四个小时运行一次的 cron 作业,并执行一个脚本,然后停止和启动您的应用程序。如果您使用的是 linux 和 pm2,您可以使用以下脚本
#!/bin/bash
#app.sh
echo 'stopping <pm2-app-id>'
pm2 stop <pm2-app-id>
echo 'stopped <pm2-app-id>'
echo 'strting <pm2-app-id>'
pm2 start <pm2-app-id>
echo 'started <pm2-app-id>'
然后向crontab -e
注册 cron 作业
0 0,4,8,12,16,20 * * * PATH=$PATH:<full path to pm2>:<full path to node bin> <full-path-to-app.sh>/app.sh
重要的是将完整路径添加到上面的 pm2 和 nodejs 可执行文件,否则 crontab 将无法找到它们。