在Python中创建自我重生应用的正确方法

2 投票
1 回答
520 浏览
提问于 2025-04-15 21:06

我正在使用用Python写的jabber机器人来记录一些多人聊天的内容。有时候因为网络问题或者XMPP的问题,机器人会掉线。在这种情况下,我需要手动重新启动它。我的目标是让它能够“自动重启”。

我有几种想法来实现这个目标。

  1. 机器人是一个进程。另一个进程监控它的活动,如果机器人崩溃了,就重新启动它。
  2. 主进程启动机器人作为子进程,并对它进行控制。

我还觉得把机器人进程做成守护进程也是个好主意。平台是Linux,大家应该能猜到。

解决这个问题的正确方法是什么呢?

1 个回答

4

如果你在使用像Ubuntu这样的系统,可以看看upstart,它有自动管理程序和“重启”功能。这里有一篇不错的关于运行和启动程序的一般博客文章

我也听说过supervisord的好评。

撰写回答