0

Python スクリプトから実行しているサブプロセスがあり、ユーザーが Python を終了した場合 (ctrl+D または ctrl+Z または quit())、このプロセスを強制終了したいと考えています。Pythonスクリプトが終了する直前に自動的に実行されるPythonスクリプトで定義できる関数はありますか?

4

1 に答える 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 に答える