I’m looking to implement an exit/termination process for an applicationYou want to look at the atexit module:
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.
http://docs.python.org/lib/module-atexit.html
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.
"""
TJG