import multiprocessing import signal import time def f(x): time.sleep(x) def run(): #oldsig = signal.signal(signal.SIGINT, signal.SIG_IGN) #print("oldsig =", oldsig) ctx = multiprocessing.get_context('forkserver') proc = ctx.Process(target=f, args=(0,)) proc.start() proc.join() #signal.signal(signal.SIGINT, oldsig) try: time.sleep(100) except KeyboardInterrupt: print("Ctrl-C, exiting") pass if __name__ == "__main__": run()