【问题标题】:How to daemonize process?如何守护进程?
【发布时间】:2014-04-25 23:20:30
【问题描述】:

在我的主机帐户上,我在 Node.js 中运行聊天。一切正常,但我的托管超时每 12 小时处理一次。显然,当进程被妖魔化时,它不会超时,所以我尝试用以下方式妖魔化:

  1. 使用 Forever.js - 运行 forever start chat.js 。运行forever list 确认它运行并且ps -ef 命令显示?在 TTY 列中

  2. 尝试nohup node chat.js - 运行ps -ef TTY 列显示pts/0,PPID 为1

  3. 我试图断开标准输入、标准输出和标准错误,并让它忽略挂断信号 (SIGHUP) 所以nohup ./myscript 0<&- &> my.admin.log.file & 没有运气。 ps -ef TTY 列是 pts/0 而 PPID 不是 1

  4. 我再次尝试(nohup ./myscript 0<&- &>my.admin.log.file &),但没有成功。 ps -ef TTY 列是 pts/0,PPID 是 1

毕竟这个过程总是在大约 12 小时内超时。

现在我尝试了(nohup ./myscript 0<&- &>my.admin.log.file &) & 并正在等待,但不要抱太大希望,需要别人的帮助。

托管人员声称守护进程不会超时,但我如何确保我的进程是守护进程?注意到我尝试过似乎有效,即使我的理解有限ps -ef 似乎表明流程已被去魔化。

我应该怎么做才能在不转向更昂贵的托管计划的情况下妖魔化这个过程?我可以与托管争论,毕竟这个进程是一个守护进程,他们只是在某个地方弄错了吗?

【问题讨论】:

    标签: unix process daemon


    【解决方案1】:

    Upstart 是一种非常简单的守护进程的方法 http://upstart.ubuntu.com/

    有一些关于将它与 node 和 monit 一起使用的信息,如果它崩溃,它将为你重新启动 Node http://howtonode.org/deploying-node-upstart-monit

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      相关资源
      最近更新 更多