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

Forever node process set to restart via crontab NOT restarting

如果我从命令行 运行 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 tool. It can 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.