Python and Daemons
Hunter Matthews
thm at duke.edu
Wed Feb 27 11:49:59 EST 2002
Justin Sheehy <justin at iago.org> wrote in message news:<mailman.1014416559.28231.python-list at python.org>...
> Dieter Lunn <theguru at mb.sympatico.ca> writes:
>
> > I was wondering how to write a linux daemon using Python.
>
> This is what I use:
>
> class Log_out:
> '''file-like dummy device, used for daemonization
> writes are redirected into our logging object'''
> def write(self, s):
> debugmsg(s)
>
> def daemonize():
> "cause this process to becaome a daemon"
> if os.fork() != 0:
> os._exit(0)
> os.setsid()
> if os.fork() != 0: # 2nd fork is widely recommended
> os._exit(0) # though not always needed
> debugmsg("daemonized")
> os.chdir("/") # not strictly necessary, but a good idea
> os.umask(0)
> sys.stdin.close()
> sys.stdout = Log_out()
> sys.stderr = Log_out()
>
> debugmsg is a local function which calls a function in my logging library.
>
> -Justin
Can someone say why the 2nd fork is widely recommneded?
More information about the Python-list
mailing list