• Uncategorized

About python : How-to-restart-python-script-if-process-hangscrashes

Question Detail

I have simple python code which is using 2 processes one is the main process and another which is created by multiprocessing module. Both processes runs in infinite loop. I want my python code to never crash/hang/freeze. I’ve already handled most of the errors/exceptions. FYI its a IOT project and I’m running this code as launcher in /etc/rc.local path. I tried using pid module from python as given here

Accoring to the link given the pid module works as below.

from pid import PidFile

with PidFile():
do_something()

My question is, does above logic meets my requirements or do I need to put some more logic like checking the existance of pid file and then decide to kill/stop/restart the process (or code itself) if any of the two processes freezes due to any bugs from code.

Please suggest is there any other way to achieve this, if pid module is not suitable for my requirement.

Question Answer

Hi I resolved this issue by creating a separate python scripts for both tasks rather using of multiprocessing modules such as queue. I suggest not to use multiprocessing queue inside infinite loops as it freezes the process/processes after some time.

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.