如何在win32上等待一个用os.execv()重生的孩子?

时间:2009-07-28 13:24:02

标签: python windows pip execv

我有一些代码使用pip来引导Python环境以进行构建过程:这是确保我们从主机系统的其余部分正确隔离构建要求并帮助我们的一种可爱方式整体上获得更一致的构建结果。

无论如何,驱动pip.py的代码似乎在Windows上有一些问题。问题是我使用pip从我的引导脚本中生成subprocess.Popen()进程,然后等待进程完成但由于pip使用的事实,这种情况发生得太早execv在其创建的新virtualenv下重新启动自己。当这种情况发生时,我的父母看到孩子已经退出了一个0的exitcode,并继续以它的快乐方式。

所以问题很简单:如何在win32上处理来自子进程的os.execv()调用,以便我可以确定新执行的子进程的返回代码?

1 个答案:

答案 0 :(得分:0)

我想不出任何顺利处理这个问题的方法。这可能听起来很脏,但也许您可以在脚本运行时将标记文件拖放到文件系统上,并等待清理这些文件?