Forever节点进程设置为通过crontab重新启动而不是重新启动

时间:2015-03-18 18:40:28

标签: node.js crontab forever

如果我从命令行运行 start_test.sh (以root用户身份),它会重启。但是,如果我尝试通过 crontab 运行它,它不会重新启动永久进程,我没有有用的输出,为什么会出现这种情况。

sudo crontab -e

SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin

29 14 * * * /var/local/node_test/start_test.sh

start_test.sh

#!/bin/bash
forever --killSignal=SIGINT restart -c /usr/local/bin/node /var/local/node_test/server.js

/ var / log / syslog at 14:29

Mar 18 14:29:01 app-srv CRON[4394]: (root) CMD (/var/local/node_test/start_test.sh)

1 个答案:

答案 0 :(得分:1)

使用pm2工具可以节省一些时间。它可以自动restart a process

安装pm2:

sudo npm i pm2 -g

在某处创建processes.json

[{
  "name": "server",
  "cwd" : "/var/local/node_test/",
  "cron_restart" : "1 0 * * *"
}]

使用以下命令启动流程:

pm2 startOrRestart processes.json

该工具可以为您做更多事情。就像在为进程占用太多内存或设置环境变量时重新启动进程一样。只需浏览readme