如何一次ping所有服务器python

2024-09-27 07:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

import pyping

server = ["jeff", "bob", "dave", "ryan", "drew"]

for i in server:
    online = 1
    try:
        result = pyping.ping(i)
        online = result.ret_code
        if len(i) > 7:
            print("|\tServer: "+ i +"\tIp: "+ result.destination_ip +"\tTime: "+ result.avg_rtt +"\t |")
        else:
            print("|\tServer: "+ i +"\t\tIp: "+ result.destination_ip +"\tTime: "+ result.avg_rtt +"\t |")

    except:
        print("|\tServer: "+ i +" Returned: OFFLINE!!!\t\t\t\t |")

请帮助我在同一时间ping所有服务器,以使它更快


Tags: importrttipserverresultpingdestinationonline
1条回答
网友
1楼 · 发布于 2024-09-27 07:29:01

试试这个

import threading

def worker(i):
    online = 1
    try:
        result = pyping.ping(i)
        online = result.ret_code
        if len(i) > 7:
            print("|\tServer: "+ i +"\tIp: "+ result.destination_ip +"\tTime: "+ result.avg_rtt +"\t |")
        else:
            print("|\tServer: "+ i +"\t\tIp: "+ result.destination_ip +"\tTime: "+ result.avg_rtt +"\t |")

    except:
        print("|\tServer: "+ i +" Returned: OFFLINE!!!\t\t\t\t |")

server = ["jeff", "bob", "dave", "ryan", "drew"]

for i in server:
    t = threading.Thread(target=worker, args=(i,))
    t.start()

相关问题 更多 >

    热门问题