view tests/killdaemons.py @ 9412:3a78bbc57660

color: do all setup in uisetup Now that extensions are loaded in phases, we are guaranteed to always find mq in uisetup with extensions.find and we know that the mq commands are not yet copied into commands.table.
author Martin Geisler <mg@lazybytes.net>
date Sat, 29 Aug 2009 00:30:03 +0200
parents 3b76321aa0de
children 13a1b2fb7ef2
line wrap: on
line source

#!/usr/bin/env python

import os, sys, 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