view tests/killdaemons.py @ 824:fed090e07621

exchange: pull markers relevant to the pulled subset only With the command recently introduced we can select to pull only markers relevant to some nodes. We are now pull all markers for all node in the relevant subset. We'll try to pull less (just markers for node where local and remote marker diverge) later, but we need some marker discovery mechanism for that. which are not easy.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Fri, 28 Feb 2014 13:38:19 -0800
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