在Python中,你可以使用ping3庫來實現ping命令的超時處理
pip install ping3
然后,你可以使用以下代碼實現ping命令的超時處理:
from ping3 import ping, exceptions
import time
def ping_host(host, timeout=1):
try:
response_time = ping(host, timeout)
if response_time is not None:
print(f"{host} 在 {response_time} 毫秒內響應")
else:
print(f"{host} 無響應")
except exceptions.Timeout as e:
print(f"{host} 請求超時: {e}")
if __name__ == "__main__":
host = "example.com" # 你可以替換成你想要ping的主機地址
while True:
ping_host(host, timeout=1)
time.sleep(5) # 每5秒ping一次
在這個示例中,我們定義了一個名為ping_host的函數,它接受一個主機名和一個超時值(默認為1秒)。我們使用ping3庫的ping函數來發送ping請求,并設置超時。如果請求成功,我們打印響應時間;如果請求超時,我們捕獲exceptions.Timeout異常并打印錯誤信息。
在__main__部分,我們使用一個無限循環來定期ping主機,并在每次請求之間等待5秒。你可以根據需要修改這個示例,以適應你的具體需求。