這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上運行。謝謝! –