在Python中,你可以使用subprocess
模块来执行ping命令
import subprocess import time def ping(host, interval): while True: try: # 在Windows系统中,使用"-n"参数,而在Linux和macOS系统中,使用"-c"参数 command = ["ping", "-c", "1", host] if platform.system().lower() != "windows" else ["ping", "-n", "1", host] output = subprocess.check_output(command, stderr=subprocess.STDOUT, universal_newlines=True) print(f"{host} is up: {output.strip()}") except subprocess.CalledProcessError as e: print(f"{host} is down: {e.output.strip()}") time.sleep(interval) if __name__ == "__main__": host = input("Enter the host to ping: ") interval = float(input("Enter the interval in seconds: ")) ping(host, interval)
这个脚本定义了一个名为ping
的函数,它接受一个主机名和一个时间间隔(以秒为单位)。函数会无限循环地执行ping命令,并在每次执行后等待指定的时间间隔。如果主机在线,它将输出ping成功的信息;如果主机离线,它将输出ping失败的信息。
请注意,这个脚本需要在具有相应权限的环境中运行,以便能够执行ping命令。在某些操作系统中,你可能需要以管理员身份运行脚本。