Форум сайта python.su
Хотя, наверное я немного не правильно сформулировал свой вопрос. В общем суть:
Как мне выполнить функцию, по событию закрытия консоли. То есть прежде чем программа закроется, должны выполнится некоторые действия.
Погуглил, везде написано только про перехват событий оконных приложений, про консоль что то ничего.p.s. своей консоли, не чужой.
Отредактировано psyh0y (Сен. 28, 2012 03:03:20)
Офлайн
Если перед закрытием программы, то может подойдет atexit
Офлайн
PooH
Если перед закрытием программы, то может подойдет atexit
Отредактировано psyh0y (Сен. 28, 2012 06:47:16)
Офлайн
http://docs.python.org/library/signal.html
Если речь о Windows:
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)
Отредактировано reclosedev (Сен. 28, 2012 08:48:14)
Офлайн
От убийства процесса может помочь только другой процесс-монитор.
Офлайн
odnochlen
От убийства процесса может помочь только другой процесс-монитор.
reclosedevВечерком попробую, спасибо.
Но это не кроссплатформено. SIGBREAK - от закрытия консоли по крестику, windows only (в *nix SIGKILL может быть?). SIGINT - от CTRL+C. От принудительного убийства процесса Python - не знаю что поможет.
Офлайн