2017-04-26 67 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秒,然后移至下一行代码