有没有办法在Windows上用Python在任务被任务管理器终止时运行关闭函数?
我可以在用户按下“CTRL+C”或“X”时运行一个函数,但如果用户通过任务管理器来结束我的程序,有没有办法让最后一个函数运行呢?我现在用的是Python 3.3和Windows 7。我试过atexit和signal模块,但它们都不管用。难道我不能阻止任务管理器吗?
1 个回答
0
是的,我觉得是这样的。
import signal
signal.signal(signal.SIGTERM, custom_func)
更多信息可以通过谷歌搜索“Python windows 捕获进程终止”找到,链接在这里: http://danielkaes.wordpress.com/2009/06/04/how-to-catch-kill-events-with-python/
但是如果这个信号是那种无论如何都要杀掉进程的信号,那么你就没办法用一个需要时间的函数去打断这个调用。因为这是强制终止,类似于Unix系统中的-9信号,这会直接停止进程的所有处理。请纠正我,如果我说错了,但在强制情况下,是不可能中止或调用一个函数的,对吧?