Gracefull application exit.
mail at timgolden.me.uk
Thu Jul 24 18:19:08 CEST 2008
Robert Rawlins wrote:
> I’m looking to implement an exit/termination process for an application
> which can be triggered by A) a keyboard interrupt or B) termination of
> the application as a Daemon using a signal.
> I have a whole bunch of tasks I want to perform as a cleanup before the
> application is terminated, cleaning files, database calls, closing open
> connections and a few other things.
> I know we have:
> # I'm the main application started method.
> if __name__ == /"__main__"/:
> For starting an application, but do we have an equivalent methods for
> when an application is terminated which we can use to close down any
> current internal processes before the application exits?
> I’d really love to have your thoughts and experience on gracefully
> killing an application.
You want to look at the atexit module:
but mind the caveats:
Note: the functions registered via this module are not
called when the program is killed by a signal, when a
Python fatal internal error is detected, or when
os._exit() is called.
More information about the Python-list