我正在使用用 python 编写的 jabber bot 来记录一些 MUC 谈话。有时它会在某些网络或 XMPP 问题上掉线。在这种情况下,我必须自己重新开始。目标是让它“自我重生”。
我有一些关于如何做到这一点的变体。
- Bot 是一个进程。另一个进程监视它的活动并在机器人死亡时启动它。
- 主进程产生 bot 子进程并控制它。
另外我认为守护机器人进程在这里很有用。如您所料,平台是 Linux。
解决这个问题的正确方法是什么?
如果您使用的是 ubuntu 之类的东西,请尝试研究upstart及其自动守护进程和“重生”功能。这是一篇关于运行与启动进程的一般博文。
我也听说过supervisdord的好消息。