Python 实时监控 iperf3 命令输出
使用 Python 实时监控 iperf3 命令输出
本文介绍使用 Python 编写程序实时监控 iperf3 命令输出,并展示两种方法:使用 subprocess.Popen 和 process.communicate()。
方法一:使用 subprocess.Popen
import subprocess
import time
def run_iperf_command():
command = 'iperf3 -c 192.168.124.92 -p11111 -i 1'
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, universal_newlines=True)
for line in iter(process.stdout.readline, ''):
print(time.time(), line.strip())
run_iperf_command()
该方法使用 subprocess.Popen 启动一个子进程并获取其输出流,然后使用循环不断读取输出流并打印到控制台。
方法二:使用 process.communicate()
import subprocess
def run_iperf_command():
command = 'iperf3 -c 1.1.1.1 -i'
process = subprocess.Popen(
command.split(),
stdout=subprocess.PIPE,
universal_newlines=True
)
while process.poll() is None:
output = process.stdout.readline().strip()
if output:
print(output)
run_iperf_command()
该方法使用 process.communicate() 方法获取子进程的输出,并使用循环不断读取输出并打印到控制台。
两种方法都可以实现实时监控 iperf3 命令输出的功能,具体使用哪种方法取决于个人喜好和实际需求。
原文地址: https://www.cveoy.top/t/topic/qzE3 著作权归作者所有。请勿转载和采集!