我有简单的python代码,它使用2个进程,一个是主进程,另一个是由多处理模块创建的。两个进程都以无限循环运行。我希望我的python代码永远不会崩溃/挂起/冻结。我已经处理了大部分错误/异常。仅供参考,它是一个 IOT 项目,我在/etc/rc.local路径中将此代码作为启动器运行。我尝试使用python中的 pid 模块给出here
根据pid模块给出的链接,如下所示。
来自pid import PidFile
使用PidFile(): do_something()
我的问题是,上面的逻辑是否符合我的要求,或者我需要更多的逻辑来检查pid文件的存在,然后决定杀死/停止/重启进程(或代码本身),如果有的话进程因代码中的任何错误而冻结。
如果pid模块不适合我的要求,请建议是否有其他方法可以实现此目的。
答案 0 :(得分:1)
您好我通过为两个任务创建单独的python脚本而不是使用多个处理模块(如队列)来解决此问题。我建议不要在无限循环中使用多处理队列,因为它会在一段时间后冻结进程/进程。