2013-07-15 36 views
1

我有一個python腳本來重建haproxy配置,然後重新啓動haproxy。唯一的問題是,當我從cron運行腳本時,有時haproxy會在新配置到位之前重新啓動。如何確保OS命令在Python中同步運行?

當我從命令行運行腳本時,這不會發生。

我試着添加time.sleep()到腳本讓它等待,但有時這仍然發生。以下是相關的代碼:

command = "/home/adam/bin/genproxy.sh" 
os.system(command) 
os.system("cp /home/adam/bin/haproxy.cfg /etc/haproxy/") 
time.sleep(2) 
os.system("sudo /etc/init.d/haproxy restart") 

如何確保重新啓動等待複製完成?

+0

http://stackoverflow.com/a/17651370/661195這有幫助嗎? –

回答

2

很確定這應該這樣做。

commands = [ ... ] 
for command in commands: 
    if os.system(command) == 0: 
     # Check for failure and wait 
     continue 
    else: 
     print "ERROR" 
     break