Remove pidfile before restarting
This commit is contained in:
+9
-3
@@ -62,6 +62,9 @@ class Loader(object):
|
|||||||
|
|
||||||
def restart(self):
|
def restart(self):
|
||||||
try:
|
try:
|
||||||
|
# remove old pidfile first
|
||||||
|
if self.runAsDaemon():
|
||||||
|
self.daemon.delpid()
|
||||||
args = [sys.executable] + [os.path.join(base_path, __file__)] + sys.argv[1:]
|
args = [sys.executable] + [os.path.join(base_path, __file__)] + sys.argv[1:]
|
||||||
subprocess.Popen(args)
|
subprocess.Popen(args)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
@@ -70,10 +73,13 @@ class Loader(object):
|
|||||||
|
|
||||||
def daemonize(self):
|
def daemonize(self):
|
||||||
|
|
||||||
if self.options.daemon and self.options.pid_file:
|
if self.runAsDaemon():
|
||||||
from daemon import Daemon
|
from daemon import Daemon
|
||||||
daemon = Daemon(self.options.pid_file)
|
self.daemon = Daemon(self.options.pid_file)
|
||||||
daemon.daemonize()
|
self.daemon.daemonize()
|
||||||
|
|
||||||
|
def runAsDaemon(self):
|
||||||
|
return self.options.daemon and self.options.pid_file
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
+3
-3
@@ -64,7 +64,8 @@ class Daemon():
|
|||||||
file(self.pidfile, 'w+').write("%s\n" % pid)
|
file(self.pidfile, 'w+').write("%s\n" % pid)
|
||||||
|
|
||||||
def delpid(self):
|
def delpid(self):
|
||||||
os.remove(self.pidfile)
|
if os.path.exists(self.pidfile):
|
||||||
|
os.remove(self.pidfile)
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
"""
|
"""
|
||||||
@@ -112,8 +113,7 @@ class Daemon():
|
|||||||
except OSError, err:
|
except OSError, err:
|
||||||
err = str(err)
|
err = str(err)
|
||||||
if err.find("No such process") > 0:
|
if err.find("No such process") > 0:
|
||||||
if os.path.exists(self.pidfile):
|
self.delpid()
|
||||||
os.remove(self.pidfile)
|
|
||||||
else:
|
else:
|
||||||
print str(err)
|
print str(err)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user