import curses import multiprocessing import signal import time multiprocessing.set_start_method('fork', force=True) def sleep_some(): time.sleep(100) if 1: curses.initscr() curses.endwin() procs = [multiprocessing.Process(target=sleep_some) for i in range(3)] for p in procs: p.start() time.sleep(0.001) # let the children start... for p in procs: p.terminate() for p in procs: p.join() for p in procs: print(p.exitcode, -signal.SIGTERM)