J'écris un programme démon en utilisant python 2.5. Dans le processus principal un gestionnaire de sortie est enregistré avec atexit
module, il semble que le gestionnaire est appelé lorsque chaque processus enfant se termine, ce qui n'est pas prévu.Le gestionnaire atexit enregistré est-il hérité par les processus fils engendrés?
J'ai remarqué que ce comportement n'est pas mentionné dans python atexit
doc, quelqu'un connaît le problème? Si c'est ainsi que cela doit se passer, comment puis-je annuler l'inscription du gestionnaire de sortie dans les processus enfants? Il existe un atexit.unregister dans la version 3.0, mais j'utilise 2.5.
+1: Meilleure solution que la mienne, puisque nous avons vraiment accès aux _exithandlers. J'ai oublié que __all__ est seulement utilisé quand "from atexit import *". –