killdaemons.py
25 lines
| 603 B
| text/x-python
|
PythonLexer
/ tests / killdaemons.py
Matt Mackall
|
r7344 | #!/usr/bin/env python | ||
Nicolas Dumazet
|
r10905 | import os, time, errno, signal | ||
Matt Mackall
|
r7344 | |||
# Kill off any leftover daemon processes | ||||
try: | ||||
Alejandro Santos
|
r9031 | fp = open(os.environ['DAEMON_PIDS']) | ||
Matt Mackall
|
r7344 | for line in fp: | ||
try: | ||||
pid = int(line) | ||||
except ValueError: | ||||
continue | ||||
try: | ||||
os.kill(pid, 0) | ||||
os.kill(pid, signal.SIGTERM) | ||||
for i in range(10): | ||||
time.sleep(0.05) | ||||
os.kill(pid, 0) | ||||
os.kill(pid, signal.SIGKILL) | ||||
except OSError, err: | ||||
if err.errno != errno.ESRCH: | ||||
raise | ||||
fp.close() | ||||
except IOError: | ||||
pass | ||||