Browse Source

Remove pidfile before restarting

pull/84/head
Ruud 13 years ago
parent
commit
8a0130c9a6
  1. 12
      CouchPotato.py
  2. 6
      libs/daemon.py

12
CouchPotato.py

@ -62,6 +62,9 @@ class Loader(object):
def restart(self):
try:
# remove old pidfile first
if self.runAsDaemon():
self.daemon.delpid()
args = [sys.executable] + [os.path.join(base_path, __file__)] + sys.argv[1:]
subprocess.Popen(args)
except Exception, e:
@ -70,10 +73,13 @@ class Loader(object):
def daemonize(self):
if self.options.daemon and self.options.pid_file:
if self.runAsDaemon():
from daemon import Daemon
daemon = Daemon(self.options.pid_file)
daemon.daemonize()
self.daemon = Daemon(self.options.pid_file)
self.daemon.daemonize()
def runAsDaemon(self):
return self.options.daemon and self.options.pid_file
if __name__ == '__main__':

6
libs/daemon.py

@ -64,7 +64,8 @@ class Daemon():
file(self.pidfile, 'w+').write("%s\n" % pid)
def delpid(self):
os.remove(self.pidfile)
if os.path.exists(self.pidfile):
os.remove(self.pidfile)
def start(self):
"""
@ -112,8 +113,7 @@ class Daemon():
except OSError, err:
err = str(err)
if err.find("No such process") > 0:
if os.path.exists(self.pidfile):
os.remove(self.pidfile)
self.delpid()
else:
print str(err)
sys.exit(1)

Loading…
Cancel
Save