1

如果用户使用“CTRL+C”或“X”,我可以运行一个函数,但是如果用户尝试使用 Windows 上的任务管理器杀死我的程序,有没有办法运行最后一个函数?我使用 python 3.3 和 windows 7。我尝试了 atexit,信号模块,但它们不起作用。我不能停止taskmgr吗?

4

1 回答 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 并且只会丢弃任何东西处理过程的能力。如果我错了,请纠正我,但如果它是强制的,就不可能中止或调用函数?

于 2013-02-06T13:53:17.437 回答