Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python proc.communiate()未等待svn命令完成_Python_Svn - Fatal编程技术网

Python proc.communiate()未等待svn命令完成

Python proc.communiate()未等待svn命令完成,python,svn,Python,Svn,此python代码: print "Start update" print " ".join(["svn","update",workspace_root) proc = subprocess.Popen(["svn","update",workspace_root]) proc.communicate() if (proc.returncode!= 0): do_exit("Error trying to update "+workspace_root) print "Finish u

此python代码:

print "Start update"
print " ".join(["svn","update",workspace_root)
proc = subprocess.Popen(["svn","update",workspace_root])
proc.communicate()
if (proc.returncode!= 0):
    do_exit("Error trying to update "+workspace_root)
print "Finish update"
#将CD放入工作区

提供以下结果:

Start update
svn update /data/home/vuser13/verify_and_merge_repo 
Finish update
Updating 'verify_and_merge_repo':
At revision 307.
请注意,proc.communicate()不会等待
svn
命令完成

怎么了?我的cron作业在长时间的操作中溢出,因为它没有等待完成。我在
subprocess.call()中看到了相同的行为


谢谢

我认为您应该将
stdout=PIPE
参数指定给
Popen
,以便根进程等待子进程返回某些内容

请在此处阅读更多内容:尤其是这一点:

类似地,要在结果元组中获取除None之外的任何内容,还需要指定stdout=PIPE和/或stderr=PIPE


通信
呼叫
两个呼叫在完成之前都要等待
。您不需要重定向
stdout
来使用它们。谢谢!谢谢!你试过
proc.wait()
?哪种操作系统?这种事情在Windows上批处理文件时可能会发生(“cron”当然是一个提示,但无论如何都要检查)。我在Red Hat 6上运行。谢谢