Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from os import fork, setsid, umask, dup2
- from sys import stdin, stdout, stderr
- if fork(): exit(0)
- umask(0)
- setsid()
- if fork(): exit(0)
- stdout.flush()
- stderr.flush()
- si = file('/dev/null', 'r')
- so = file('/dev/null', 'a+')
- se = file('/dev/null', 'a+', 0)
- dup2(si.fileno(), stdin.fileno())
- dup2(so.fileno(), stdout.fileno())
- dup2(se.fileno(), stderr.fileno())
- from os import getpid
- outfile = open(pid_file, 'w')
- outfile.write('%i' % getpid())
- outfile.close()
- from os import setuid, setgid, chdir
- from pwd import getpwnam
- from grp import getgrnam
- setuid(getpwnam('someuser').pw_uid)
- setgid(getgrnam('somegroup').gr_gid)
- chdir('/')
- $ easy_install turkmenbashi
- import Turkmenbashi
- class DebugDaemon (Turkmenbashi.Daemon):
- def config(self):
- self.debugging = True
- def go(self):
- self.debug('a debug message')
- self.info('an info message')
- self.warn('a warning message')
- self.error('an error message')
- self.critical('a critical message')
- if __name__=="__main__":
- d = DebugDaemon()
- d.config()
- d.setenv(30, '/var/run/daemon.pid', '/tmp', None)
- d.start(d.go)
- $ easy_install grizzled
- >>> from grizzled.os import daemonize
- >>> daemon.daemonize()
Add Comment
Please, Sign In to add comment