#! /usr/bin/env python

import os
import signal
import sys
import time

startupDelay = 0.1
interval = 0.1

def getretcode():
	(foo,status)=os.wait()
	if os.WIFSIGNALED(status):
		print "Exited due to signal " + str(os.WTERMSIG(status))
		return 1
	elif os.WIFEXITED(status):
		return os.WEXITSTATUS(status)
	else:
		return 1

def handler(signum, frame):
	sys.exit(getretcode ())

signal.signal(signal.SIGCHLD, handler)

pid = os.spawnvp (os.P_NOWAIT, sys.argv[1], sys.argv[1:])

time.sleep (startupDelay)

while 1:
	os.kill (pid, signal.SIGQUIT)
	time.sleep (interval)
	