Найти - Пользователи
Полная версия: Как в скрипте отловить прерывание либо закрытие?
Начало » Python для экспертов » Как в скрипте отловить прерывание либо закрытие?
1
netvis
Добрый день.
Пишу длинный скрипт с использованием asyncio, есть несколько корутин и все такое. Нужно перед закрытием скрипта скинуть в лог данные, чтобы потом восстановиться.

Другими словами, хотелось бы отловить Ctrl-Break, Ctrl-C или же событие закрытия.
Что пробовал: ставить обработчик signal.SIGTERM/SIGINT/и пр - срабатывает не сразу и через раз, пробовал исключение KeyboardInterrupt ловить - та же ерунда.

Проблема в том, что скрипт еще и может под Windows работать, а там все плохо. Чем вы пользуетесь в таком случае?
Спасибо
FishHook
Какие сигналы не лови, всегда найдутся необрабатываемые состояния - глюки системы, нехватка ресурсов, сосед с перфоратором, который вам кабель перерубит. Почему не сохранять данные перманентно, по ходу работы программы, не дожидаясь завершения процесса?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB