import time import os import signal import sys from os import path sys.path.append( path.dirname( path.dirname( path.abspath(__file__) ) ) ) def run(): while True: newpid = os.fork() if newpid == 0: import coverage cov = coverage.Coverage() cov.load() cov.start() signal.signal(signal.SIGINT, signal.default_int_handler) try: from server import main main() except KeyboardInterrupt: pass cov.stop() cov.save() os._exit(0) else: return newpid if __name__ == '__main__': pid = run() time.sleep(5) os.kill(pid, signal.SIGINT)