Способ завершения программы - через сигналы, посылаемые вашей системой. Два примера сигналов: SIGKILL
, что соответствует kill -9
и SIGINT
, что соответствует нажатию ctrl + c
.
У вас есть встроенная библиотека в Python, которая называется signals
, хотя вы можете поиграть с сигналами в Unix / Linux.
Просто импортируйте библиотеку, используя import signals
, а затем напишите простую функцию обратного вызова, которая запускается при получении зарегистрированного сигнала.
Пример функции обработчика сигналов:
def receiveSignal(signalNumber, frame):
print('Received:', signalNumber)
return
Пример регистрации сигналов
signal.signal(signal. SIGKILL, receiveSignal)
signal.signal(signal.SIGINT, receiveSignal)
Теперь, когда ваша программа получает зарегистрированные сигналы, вызывается функция receiveSignal
и Вы можете выполнить задачу записи в файл и затем выйти из нее.
Приведенный выше пример взят из StackAbuse, и вы можете найти полный пример здесь