Capturer le signal SIGINT en Python
En Python, la gestion de signaux comme SIGINT (générés en appuyant sur Ctrl C) peut être réalisée via le signal module. Ce module fournit une API complète pour gérer les signaux dans un programme Python.
Pour capturer le signal SIGINT et effectuer une action de nettoyage personnalisée, suivez ces étapes :
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()
Dans ce script, le La fonction signal_handler est définie comme le gestionnaire du signal SIGINT. Lorsque Ctrl C est enfoncé, cette fonction est invoquée, qui imprime un message pour indiquer que le signal a été reçu. Vous pouvez ensuite inclure tout code de nettoyage nécessaire dans cette fonction, comme la fermeture des connexions à la base de données ou la fin des processus enfants.
La fonction signal.signal est utilisée pour enregistrer la fonction signal_handler en tant que gestionnaire de SIGINT. La fonction signal.pause() suspend l'exécution du script jusqu'à ce qu'un signal soit reçu, suspendant toutes les autres opérations jusqu'à ce que l'utilisateur appuie sur Ctrl C.
Cette approche vous permet de gérer gracieusement SIGINT dans votre script Python, en exécutant tâches de nettoyage personnalisées avant de terminer le programme. Pour plus d'informations et de documentation, reportez-vous aux liens fournis dans le code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!