Как мне выполнить функцию, по событию закрытия консоли. То есть прежде чем программа закроется, должны выполнится некоторые действия.
Погуглил, везде написано только про перехват событий оконных приложений, про консоль что то ничего.
PooH
Если перед закрытием программы, то может подойдет atexit
import os import signal import time def on_stop(*args): with open('some_state.txt', 'a') as f: f.write('%s %r\n' % (time.ctime(), args)) os.exit(0) for sig in (signal.SIGBREAK, signal.SIGINT, signal.SIGTERM): signal.signal(sig, on_stop) while True: print 'tick' time.sleep(1)
odnochlen
От убийства процесса может помочь только другой процесс-монитор.
reclosedevВечерком попробую, спасибо.
Но это не кроссплатформено. SIGBREAK - от закрытия консоли по крестику, windows only (в *nix SIGKILL может быть?). SIGINT - от CTRL+C. От принудительного убийства процесса Python - не знаю что поможет.