2009-07-28 7 views
0

私はプロセスを構築するためのPython envionmentをブートストラップするpipを使用していくつかのコードを持っている:これは、我々は、ホストシステムの残りの部分からビルド要件の適切な分離を得る確保、そして私たちは、より一貫性のあるビルド結果を得る手助けする素敵な方法です。全体。どのようにWin32でos.execv()を使用して自身をrespawns子を待機しますか?

とにかく、pip.pyを駆動し、私が持っているコードは、Windows上でいくつかの問題を持っているように見えます。問題は、subprocess.Popen()を使用してブートストラップスクリプトからpipプロセスを生成し、プロセスが完了するのを待っていますが、pipexecvを使用して新しいvirtualenvの下に自身を再起動するという事実により早すぎます。これが起こると、私の親は、子供が出口コード0で出てきて、それが気持ちよく続くことを見ています。

質問は簡単です:私は、新しく実行された子プロセスの戻りコードを確認できる方法で、win32上の子プロセスからのos.execv()呼び出しにどのように対処できますか?

答えて

0

私はこれを処理するための任意の滑らかな方法を考えることはできません。これは、汚れに聞こえるかもしれないが、おそらくあなたは、あなたのスクリプトが実行されている間、ファイルシステム上にフラグファイルをドロップすると仕事ができるし、それらのファイルをクリーンアップするのを待ちますか?

+0

フラグファイルは、それが私のopionionでこのような何かを確認するために空のファイルを持っていることは悪くないですが、実行可能な解決策のように聞こえます –

関連する問題