Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Strg-C-Unterbrechungen (SIGINT) in meinem Python-Programm ordnungsgemäß behandeln?

Wie kann ich Strg-C-Unterbrechungen (SIGINT) in meinem Python-Programm ordnungsgemäß behandeln?

DDD
Freigeben: 2024-12-14 11:23:18
Original
542 Leute haben es durchsucht

How Can I Gracefully Handle Ctrl C Interruptions (SIGINT) in My Python Program?

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()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage