2017-04-26 169 views
0

我已經完成了一個任務,在一整天內ping兩個站點,所以我創建了一個包含兩個函數的函數,裏面是ping1()和ping2()。當ping1()運行,5分鐘後它應該運行下一個ping2() 但我的問題是,它不會繼續下一個功能。 我試過這段代碼:如何停止python中運行的PING

def run(): 

    start_time = datetime.datetime.now() 
    tenmins_add = datetime.timedelta(seconds = 5) 
    add = start_time + tenmins_add 

    print(start_time.strftime("%H:%M:%S")) 
    print(add.strftime("%H:%M:%S")) 
    def ping1(): 
     os.system("echo START PING 1 " + str(start_time.strftime("%H:%M:%S")) + "!~") 
     os.system("ping www.google.com") 
     os.system("echo PING 1") 

    def ping2(): 
     os.system("echo START PING 2 " + str(start_time.strftime("%H:%M:%S")) + "!~") 
     os.system("ping www.facebook.com") 
     os.system("echo END OF PING 2") 

    ping1() 
    ping2() 

while True: 
    os.system("clear") 
    run() 
    if datetime.datetime.now().strftime("%H:%M:%S") == add.strftime("%H:%M:%S"): 
     ping1().terminate() 
    else: 
     pass 

我不知道哪一部分是錯誤的,我的代碼。

+0

你需要使用線程 – Hackaholic

回答

1

的代碼將卡住的os.system("ping www.google.com")

你需要做的是os.system("ping -i 1 -c 10 www.google.com")

-i設置每個平

-c之間的間隔設置坪

的數量,以便給定示例運行10秒,然後移至下一行代碼