在Python中从终端的关闭事件中获取信号

时间:2012-04-14 18:27:08

标签: python windows

如何制作一个只能通过终端(没有GUI)运行的python脚本,以便在按下顶部的红色X时不退出,而是为该信号分配一个最终会关闭窗口和进程的函数(类似退出时的警告对话框,但基于终端)?

1 个答案:

答案 0 :(得分:1)

通常,您可以使用atexit模块注册要在退出时调用的函数:

try:
    _count = int(open("/tmp/counter").read())
except IOError:
    _count = 0

def incrcounter(n):
    global _count
    _count = _count + n

def savecounter():
    open("/tmp/counter", "w").write("%d" % _count)

import atexit
atexit.register(savecounter)

当然,用户可以随时强制退出您的流程,而您无法做任何事情!