[Raspberry Pi] Signalhandler für asynchrone Ereignisse verwenden: KeyboardInterrupt für STRG C abfangen

import signal
import sys
import time

# Handler-Methode: Signal für KeyboardInterrupt abfangen
def sigint_handler(signal, frame):
    print ('--> KeyboardInterrupt abgefangen')
#Programm abbrechen, sonst läuft loop weiter
    sys.exit(0)

if __name__=='__main__':
# SignalHandler registrieren: Unterbrechung über die Tastatur (CTRL+C) abfangen
    signal.signal(signal.SIGINT, sigint_handler)
   
    try:
        while True:
            print("--> Loop")
            time.sleep(1)

    except KeyboardInterrupt:
# wird nicht erreicht, da sigint_handler aufgerufen wird
        print("--> KeyboardInterrupt")

    finally:
        print("--> finally")

    print("--> Ende")

Links