[Tutor] run in "deamon" mode?

Reed O'Brien reed at reedobrien.com
Thu Jan 10 15:00:51 CET 2008


On Jan 10, 2008, at 12:41 AM, Allen Fowler wrote:

> Hello,
>
> How can a make a python script run in "deamon mode"? (on a linux box)
>
> That is, I want to run the program via "python myfile.py" and have  
> it drop me back to the command line.  The program should continue  
> running until I kill it via it's PID, the machine shuts down, or  
> the program itself decides to shutdown.   It should _not_  die when  
> I simply log-out, etc.
>
> Is there a standard library module to help with this?

Something I have thrown into scripts to daemonize them. NOTE: this is  
probably not the `best` way.  but it works...

import os
import sys

def daemonize():
	"""Become a daemon, seperate from the terminal and redirect IO"""
	if os.fork(): os._exit(0)
	os.setuid(1) # set user to  daemon
	os.setsid()
	sys.stdin  = sys.__stdin__  = open('/dev/null','r')
	sys.stdout = sys.__stdout__ = open('/dev/null','w')
	sys.stdout = sys.__stderr__ = sys.stdout


Then when you start your program in say main()

call daemonize()


More information about the Tutor mailing list