from signal import signal, SIGINT import multiprocessing event = multiprocessing.Event() # import threading # event = threading.Event() def handle_signals(signum, frame): print(f"Signal {signum} received. Setting event") event.set() print("Event was set") if __name__ == "__main__": signal(SIGINT, handle_signals) print("Waiting for event") event.wait()