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

如果我从命令行运行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 14:29

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

你可以使用pm2工具节省一些时间。 它可以自动重新启动一个进程 。

安装pm2:

 sudo npm i pm2 -g 

在某处创build一个processes.json

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

启动过程(es):

 pm2 startOrRestart processes.json 

该工具可以为您做更多的事情。 像重新启动一个进程,当它需要太多的内存或设置您的进程的环境variables。 只需浏览自述文件 。