2012-12-04 80 views
0

subprocess documentation在由.communicate()返回的元组中具有returncodestderr值。如果有一个值分配到stderr,这是分类为程序成功运行并完成(因此returncode将为0)或不(然后returncode的值将大于0)?Python的子进程管理

+0

为什么downvotes?我真的很感兴趣,为什么两个人认为'这个问题没有显示任何研究工作;它是不明确或没有用' – ChrisW

+1

令人沮丧,当人们不会正视他们的行为... – ChrisW

回答

-1

Popen。 沟通将返回一个元组,其中包含写入到stdoutstderr(如果没有写入任何值,则为无值)写入的数据。

后沟通的回报,你可以检查你的POPEN实例返回码属性获得进程的退出状态,如果从0不同,因为它通常是发生了错误的指示。

+0

是的 - 我明白这一点。如果'stderr'不为空,我不知道退出代码*是否为> 0 – ChrisW

+0

不,返回代码不必为> stderr> 0,任何进程都可以决定写入stderr 。 – udoprog