我正在Windows 8 / XP上使用Python 2.7。
我有一个程序A,它使用以下代码运行另一个程序B:
p = Popen(["B"], stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()
return
B运行批处理脚本C。C是运行时间较长的脚本,即使C尚未完成,我也希望B退出。我使用以下代码(在B中)完成了此操作:
p = Popen(["C"])
return
当我运行B时,它可以按预期工作。但是,当我运行A时,我希望它在B退出时退出。但是,即使B已经退出,A也会等到C退出。关于正在发生的事情以及可能的解决方案的任何想法?
不幸的是,将A更改为B的明显解决方案不是一种选择。
这是说明此问题的实用示例代码:https : //www.dropbox.com/s/cbplwjpmydogvu2/popen.zip?dl=1
非常感谢任何输入。
慕容708150
皈依舞
慕的地10843
相关分类