私は、popenを使って基本的に "python myserver.py"をshell = Falseで実行し、いくつかのテストを実行し、次にkillpgによってサーバーをダウンさせるためのunittestingフレームワークを書いています。マルチプロセッシング(pgrp issue)を使用してスクリプトを呼び出すpython呼び出しをポップする?
このmyserver.pyは、マルチプロセスを使用して、それ自身のサブプロセスを生成することができます。問題は、私のテストでは、サーバプロセスのpgrp pidがユニットテストを実行している実際のメインスレッドと同じグループpidを共有しているように見えるため、pidグループのos.killpgを実行するだけでサーバがダウンするだけでなく、私がやりたいことではなく、popenを呼び出すプロセスです。それはなぜこれをするのですか?そして私はそれらを私が独立して殺すことができる別々のグループピッドにすることができますか?
popenを再実装する必要はありません。 'preexec_fn = os.setpgrp'で' subprocess.Popen'を使います。 –