如果进程挂起/崩溃,如何重新启动python脚本



我有一个简单的python代码,它使用2个进程,一个是主进程,另一个是由多处理模块创建的。这两个进程都在无限循环中运行。我希望我的 python 代码永远不会崩溃/挂起/冻结。我已经处理了大多数错误/异常。仅供参考,这是一个物联网项目,我正在/etc/rc.local 路径中将此代码作为启动器运行。我尝试使用来自 python 的pid模块,如下所示

根据给定的 pid 模块链接,其工作原理如下。

从 pid 导入 pid文件

使用 PidFile(): do_something()

我的问题是,上述逻辑是否符合我的要求,或者我是否需要添加更多逻辑,例如检查 pid 文件是否存在,然后决定终止/停止/重新启动进程(或代码本身)如果两个进程中的任何一个由于代码中的任何错误而冻结。

如果 pid 模块不适合我的要求,请建议是否有任何其他方法可以实现此目的。

嗨,我通过为这两个任务创建单独的 python 脚本而不是使用队列等多处理模块来解决此问题。我建议不要在无限循环中使用多处理队列,因为它会在一段时间后冻结进程。

最新更新