0
我有一個從python腳本運行的子進程,如果用戶終止python(ctrl + D或ctrl + Z或quit()),我想殺死這個進程。有沒有我可以在我的python腳本中定義的函數,它將在python腳本退出之前自動運行?python腳本終止時的運行語句
我有一個從python腳本運行的子進程,如果用戶終止python(ctrl + D或ctrl + Z或quit()),我想殺死這個進程。有沒有我可以在我的python腳本中定義的函數,它將在python腳本退出之前自動運行?python腳本終止時的運行語句
您可以使用atexit
模塊來註冊要運行的功能。除非腳本os._exit
退出(它不應該),或者,除非腳本導致蟒蛇遇到了嚴重的錯誤(例如,分段錯誤),這通常不會發生,
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"
這些功能將被運行,但如果您使用的是C擴展程序,可能會出現問題。