永久节点进程设置为通过 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.
如果我从命令行 运行 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.