← retour aux snippets

atexit: nettoyage à la sortie du programme

Enregistrer des callbacks de cleanup garantis à l'arrêt normal.

python system #atexit#cleanup#shutdown

objectif

Enregistrer des callbacks de cleanup garantis à l’arrêt normal.

code minimal

import atexit
state = {"called": False}
def cleanup():
    state["called"] = True
atexit.register(cleanup)
# Simuler la sortie en appelant manuellement
cleanup()
print(state["called"])  # attendu: True

utilisation

import atexit
called = {"x": False}
atexit.register(lambda: called.update(x=True))
print(True)

variante(s) utile(s)

import atexit
def bye(name): pass
atexit.register(bye, "world")
print(True)

notes

  • Les callbacks ne s’exécutent pas sur un crash dur (kill -9).
  • L’ordre d’appel est LIFO (dernier enregistré, premier appelé).