【问题标题】:Forever node process set to restart via crontab NOT restartingForever 节点进程设置为通过 crontab 重新启动而不是重新启动
【发布时间】:2015-05-21 17:10:49
【问题描述】:

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

【问题讨论】:

  • 你是否以 root 身份运行 start_test.sh,因为它看起来像 crontab?

标签: node.js crontab forever


【解决方案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

【讨论】:

    猜你喜欢
    • 2016-10-04
    • 2013-09-22
    • 2019-07-18
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    相关资源
    最近更新 更多