Maison > Article > développement back-end > Est-il possible d'attraper le signal Ctrl+C (SIGINT) et d'exécuter la fonction de nettoyage de manière « différée » ?
L'éditeur php Yuzai répondra à une question courante pour tout le monde dans cet article : "Est-il possible de capturer le signal Ctrl+C (SIGINT) et d'exécuter la fonction de nettoyage de manière 'retardée' ?" nous devons souvent effectuer certaines opérations de nettoyage, telles que la fermeture des connexions à la base de données, la libération de ressources, etc. Lorsque l'utilisateur appuie sur la combinaison de touches Ctrl+C, le signal d'interruption du système SIGINT est déclenché, provoquant la fin immédiate du script. Mais que se passe-t-il si nous voulons effectuer un nettoyage avant la fin du script ? Discutons-en ensemble !
Je souhaite capturer le signal Ctrl+C (SIGINT
) envoyé depuis la console et imprimer des totaux cumulés partiels. SIGINT
) 信号并打印出一些部分运行总计。
您可以使用 os/signal 包来处理传入信号。 ctrl+c 是 sigint,这样你就可以用它来捕获os.interrupt
os .interruption
. 🎜
c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt) go func(){ for sig := range c { // sig is a ^C, handle it } }()🎜La manière dont vous terminez le programme et imprimez les informations dépend entièrement de vous. 🎜
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!