view tests/killdaemons.py @ 1008:a010ba5a0ffb

evolve: deprecated --obsolete and --old-obsolete option on commit and graft Such option are unlikely to make it into core, so we deprecate them to avoid uer discovery them and getting used to them.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 30 Jul 2014 13:14:13 -0700
parents cc592295900f
children 88e61e45026d
line wrap: on
line source

#!/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