Python daemonizer class
This is a Python class that will daemonize your Python script so it can continue running in the background. It works on Unix, Linux and OS X, creates a PID file and has standard commands (start, stop, restart) + a foreground mode.
Based on this original version from jejik.com.
Define a class which inherits from
Daemon and has a
run() method (which is what will be called once the daemonization is completed.
from daemon import Daemon class pantalaimon(Daemon): def run(self): # Do stuff
Create a new object of your class, specifying where you want your PID file to exist:
pineMarten = pantalaimon('/path/to/pid.pid') pineMarten.start()
start()- starts the daemon (creates PID and daemonizes).
stop()- stops the daemon (stops the child process and removes the PID).
This is useful for debugging because you can start the code without making it a daemon. The running script then depends on the open shell like any normal Python script.
To do this, just call the
run() method directly.