X-Git-Url: https://git.kaliko.me/?p=python-daemon.git;a=blobdiff_plain;f=src%2Fdaemon.py;h=c3ec53919d29a5439a27f6ea2549a5c9bc17dbb5;hp=787cb65681ae720fbfe48e0d5e8da86239d52c19;hb=319092ea606cf55e7d0fba14b191711e89e7444a;hpb=5ccfc6d3e18ead1c13109af66befcd7a56d85d93 diff --git a/src/daemon.py b/src/daemon.py index 787cb65..c3ec539 100644 --- a/src/daemon.py +++ b/src/daemon.py @@ -28,6 +28,7 @@ class Daemon(object): self.stdout = stdout self.stderr = stderr self.pidfile = pidfile + self.umask = 0 def daemonize(self): """ @@ -47,7 +48,7 @@ class Daemon(object): # Decouple from parent environment os.chdir("/") os.setsid() - os.umask(0) + self.umask = os.umask(0) # Do second fork try: @@ -79,12 +80,14 @@ class Daemon(object): return pid = str(os.getpid()) try: + os.umask(self.umask) file(self.pidfile, 'w').write('%s\n' % pid) #except IOError, wpid_err: except Exception, wpid_err: sys.stderr.write(u'Error trying to write pid file to %s: %s\n' % (unicode(self.pidfile, 'utf-8'), wpid_err)) sys.exit(1) + os.umask(0) atexit.register(self.delpid) def signal_management(self): @@ -95,7 +98,7 @@ class Daemon(object): sys.exit(1) def delpid(self): - os.remove(self.pidfile) + os.unlink(self.pidfile) def start(self): """