我有一个从 python 脚本运行的子进程,如果用户终止 python(ctrl+D 或 ctrl+Z 或 quit()),我想终止该进程。我可以在我的 python 脚本中定义一个函数,它会在 python 脚本退出之前自动运行吗?
问问题
171 次
1 回答
4
您可以使用该atexit
模块注册要运行的功能。
import atexit
def bar():
print "World"
atexit.register(bar)
#atexit.register also can be used as a decorator since it returns
# the function:
@atexit.register
def foo():
print "Goodbye"
这些函数将运行,除非脚本退出os._exit
(它不应该退出)或除非脚本导致 python 遇到通常不会发生的严重错误(例如分段错误),但如果您使用 C 扩展则可以那是越野车。
于 2012-10-15T14:53:37.440 回答