Я хотел бы, чтобы некоторые действия по очистке произошли в случае аварии моей программы. Я понимаю, что некоторые ситуации не могут быть обработаны (например, SIGKILL
), но я хотел бы как можно больше охватить.Как очистить от аварии?
Модуль atexit
был хорошим кандидатом, но документы явно утверждают, что
Функции зарегистрированной с помощью этого модуля не вызывается, когда программа убита сигнал не обрабатывается с помощью Python, когда Python обнаружена фатальная внутренняя ошибка или когда вызывается os._exit().
Есть функции или функции python, которые позволяют обрабатывать sys.exit()
и неиспользованные программы для исключений? (это основное, что касается меня)
Как заявил ForceBru простейший способ очистки, должен проверить, если очистка требуется при запуске программы. Самый простой способ сделать это - создать файл/с на диске, которые удаляются при успешном завершении программы. Если файл/s существует при запуске, вам необходимо выполнить очистку. –