在我的托管帐户上,我在Node.js中运行聊天。一切正常,但我的托管超时每12个小时处理一次。显然,当这个过程被移植时,它不会超时,所以我试图用以下方式妖魔化:
使用Forever.js - 运行forever start chat.js
。运行forever list
确认它运行并且ps -ef
命令显示?在TTY专栏
尝试nohup node chat.js
- 正在运行ps -ef
TTY列显示pts/0
,PPID为1
我试图断开stdin,stdout和stderr,并让它忽略挂断信号(SIGHUP),所以nohup ./myscript 0<&- &> my.admin.log.file &
没有运气。 ps -ef
TTY列为pts/0
,PPID不是1
我再次尝试(nohup ./myscript 0<&- &>my.admin.log.file &)
没有运气。 ps -ef
TTY列为pts/0
,PPID为1
毕竟这个过程总是在12小时左右结束。
现在我尝试了(nohup ./myscript 0<&- &>my.admin.log.file &) &
并等待,但不要保持希望并需要某人的帮助。
托管人声称守护程序进程没有超时,但我怎样才能确保我的进程是一个守护进程?注意到我尝试似乎工作,即使我的理解有限ps -ef
似乎建议过程被视为去除。
如果不转向更昂贵的托管计划,我该怎么做才能将流程妖魔化?我可以争辩主持,毕竟这个过程是一个守护进程,他们只是在某处弄错了?
答案 0 :(得分:0)
Upstart是一种非常简单的守护进程的方法 http://upstart.ubuntu.com/
有一些关于将它与node和monit一起使用的信息,如果它崩溃,它将为你重新启动Node http://howtonode.org/deploying-node-upstart-monit