这Python代码:proc.communiate()不是正在等待的svn命令完成
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()
相同的行为。
谢谢!
你有没有试过'proc.wait()'? –
哪个操作系统?这种事情可以在Windows上用批处理文件发生('cron'当然是暗示,但是无论如何检查)。 – tdelaney
我在Red Hat 6上运行。谢谢! –