友人がPopen
の実行が終了した後にコールバックが実行されるように、コードを書きたいと思っていました。ここで要求されるものの例プログラムがあり、適切な答えを開発を支援する必要がありますPopenでコールバックを登録するにはどうすればいいですか?
#! /usr/bin/env python3
from subprocess import Popen
def main():
handle = Popen(('cmd', '/c', 'pause'))
handle.register_callback(Popen, ('cmd', '/c', 'echo', 'THE END'))
if __name__ == '__main__':
main()
APIでregister_callback
方法を提供する最も簡単な方法は何ですか?
をできるだけ早く '__bootstrapとしては、 () 'メソッドが呼び出されると、メインスレッドはプロセスが終了するまでブロックします。それだけのことがあれば、 'self.wait()'(または 'handle.wait()')を直接呼び出すのはどうですか? – martineau
おそらくこれは最小の例なのでしょうか?このコードは単に 'register_callback'メソッドが実際に有用であるはるかに大きくて複雑なプログラムを単に表すものであると考えられます。 –
追加の制約がある場合は、(あなたが投稿したので)質問にそれらの概要を示す必要があります。 – martineau