Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Strg-C-Unterbrechungen (SIGINT) in meinem Python-Programm ordnungsgemäß behandeln?
Erfassen des SIGINT-Signals in Python
In Python kann die Verarbeitung von Signalen wie SIGINT (erzeugt durch Drücken von Strg C) durch das Signal erreicht werden Modul. Dieses Modul bietet eine umfassende API zum Verwalten von Signalen innerhalb eines Python-Programms.
Um das SIGINT-Signal zu erfassen und eine benutzerdefinierte Bereinigungsaktion durchzuführen, führen Sie die folgenden Schritte aus:
import signal import sys def signal_handler(sig, frame): print('You pressed Ctrl+C!') # Perform any necessary cleanup tasks هنا sys.exit(0) signal.signal(signal.SIGINT, signal_handler) print('Press Ctrl+C') signal.pause()
In diesem Skript wird das Die Funktion signal_handler ist als Handler für das SIGINT-Signal definiert. Wenn Strg C gedrückt wird, wird diese Funktion aufgerufen, die eine Meldung ausgibt, die angibt, dass das Signal empfangen wurde. Anschließend können Sie in diese Funktion jeden erforderlichen Bereinigungscode einbinden, z. B. das Schließen von Datenbankverbindungen oder das Beenden von untergeordneten Prozessen.
Die signal.signal-Funktion wird verwendet, um die signal_handler-Funktion als Handler für SIGINT zu registrieren. Die Funktion signal.pause() unterbricht die Ausführung des Skripts, bis ein Signal empfangen wird, und unterbricht alle anderen Vorgänge, bis der Benutzer Strg C drückt.
Mit diesem Ansatz können Sie SIGINT in Ihrem Python-Skript elegant verarbeiten und ausführen Führen Sie benutzerdefinierte Bereinigungsaufgaben durch, bevor Sie das Programm beenden. Weitere Informationen und Dokumentation finden Sie unter den bereitgestellten Links im Code.
Das obige ist der detaillierte Inhalt vonWie kann ich Strg-C-Unterbrechungen (SIGINT) in meinem Python-Programm ordnungsgemäß behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!