【发布时间】:2018-06-05 13:17:50
【问题描述】:
我有一个运行几个小时来处理每条记录的 python 脚本。另外,与此同时,我想运行相同的脚本,但出于其他目的使用其他参数。
有时会引发异常并导致脚本停止。有时操作系统会重新启动。
所以我想在操作系统级别进行检查。 这样,如果脚本停止,请重新启动脚本。
解决此问题的最佳方法是什么?
【问题讨论】:
-
这并不是真正的 Python 特定的——最佳实践是使用您的操作系统供应商支持的任何进程监督系统,不知道您的软件是用什么语言编写的 .
-
如果您的操作系统供应商支持 Upstart?使用新贵。他们支持systemd?使用系统。他们支持launchd?用那个。他们什么都不发货?想想Runit 或Daemontools 或Supervisor 或s6。 (就个人而言,在这种情况下,我会倾向于 s6 或 runit)。
-
...顺便说一句,这个问题不受欢迎的主要原因是,在要求“最好的”X时,当周围有很多X的实现时,它会趋向作为民意调查或推荐请求(请参阅stackoverflow.com/help/on-topic 的“一些问题仍然离题”中的#2),而不是存在规范、客观完整和正确答案的东西。