diff options
Diffstat (limited to 'tests/killdaemons.py')
-rwxr-xr-x | tests/killdaemons.py | 25 |
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 |