blob: 9d37a3fb6b04ab5cc81da8f84c3e09a8b76884de [file] [log] [blame]
#!/usr/bin/python
# Test program called from test-alivemonitor.sh.
import optparse
import os
import signal
import sys
import time
g = {}
def check_pid(pid):
try:
os.kill(pid, 0)
except OSError:
return False
else:
return True
def sigterm(signal, frame):
g['FILE'].write('TERM ')
g['FILE'].flush()
sys.exit(0)
def sighup(signal, frame):
g['FILE'].write('HUP ')
g['FILE'].flush()
if __name__ == '__main__':
print sys.argv
if len(sys.argv) == 1 or not sys.argv[1]:
sys.stderr.write('usage: %s <filename>' % sys.argv[0])
g['FILE'] = open(sys.argv[1], 'w')
signal.signal(signal.SIGTERM, sigterm)
signal.signal(signal.SIGHUP, sighup)
g['FILE'].write('START ')
g['FILE'].flush()
while True:
time.sleep(0.1)
ppid = os.getppid()
if ppid == 1 or not check_pid(ppid):
sys.exit(2)