summaryrefslogtreecommitdiff
path: root/tests/killdaemons.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/killdaemons.py')
-rwxr-xr-xtests/killdaemons.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/killdaemons.py b/tests/killdaemons.py
new file mode 100755
index 0000000..63828fc
--- /dev/null
+++ b/tests/killdaemons.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+import os, time, errno, signal
+
+# Kill off any leftover daemon processes
+try:
+ fp = open(os.environ['DAEMON_PIDS'])
+ 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