python使用操作系统ping许多站点

cpjpxq1n  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(366)
import os

hostnames = [
    "facebook.com",
    "google.ge",
    "test.com"
]

while True:
    for hostname in hostnames:
        response = os.system('ping -c 1 ' + hostname)
        if response == 0:
            print('ping {}'.format(hostname))

        else:
            print('not ping')

您好,这是我的代码,我的目标是检查出几个网站平,但我有问题,如果网站不平,我想平这个网站,直到该网站是可用的,需要 print('site is available') 但当一个站点关闭时,此脚本必须继续检查其他站点
警报希望如下所示,例如:

facebook.com - ping good
test.com - not ping
test.com - Resurrected and ping good

....

kognpnkq

kognpnkq1#

您不希望在ping其他网站之前重复ping无响应网站,否则1个无响应网站将阻止所有ping。我认为你有2个选择:1.将任务分成每个网站1个循环-这可能会很复杂,因为你应该使用线程或类似的方法来高效地工作。或每2个网站ping一次,返回结果,然后重新开始。这个选项似乎最适合您,因为您的代码已经可以使用了。但是,如果您想创建自己的输出,最好使用@echo off隐藏ping命令输出,但不能使用返回,因为它将是@echo的返回。

相关问题