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

时间:2018-03-20 07:37:30

标签: python linux

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

根据pid模块给出的链接,如下所示。

来自pid import PidFile

使用PidFile():   do_something()

我的问题是,上面的逻辑是否符合我的要求,或者我需要更多的逻辑来检查pid文件的存在,然后决定杀死/停止/重启进程(或代码本身),如果有的话进程因代码中的任何错误而冻结。

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

1 个答案:

答案 0 :(得分:1)

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