import os import signal import traceback def sigquit_handler(*args): print(args) signal.signal(signal.SIGQUIT, sigquit_handler) r, w = os.pipe() write_file = os.fdopen(w, 'wb', 0) print('Writing 100000 bytes, interrupt me with SIGQUIT (^\)') try: print(write_file.write(b'a' * 100000)) except IOError as e: traceback.print_exc() while True: print('read %d bytes' % len(os.read(r, 100000)))