Python スクリプトから実行しているサブプロセスがあり、ユーザーが Python を終了した場合 (ctrl+D または ctrl+Z または quit())、このプロセスを強制終了したいと考えています。Pythonスクリプトが終了する直前に自動的に実行されるPythonスクリプトで定義できる関数はありますか?
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 が重大なエラー (セグメンテーション フォールトなど) に遭遇しない限り実行されます。バグがあります。
于 2012-10-15T14:53:37.440 に答える