使用 Python 实时监控 iperf3 命令输出

本文介绍使用 Python 编写程序实时监控 iperf3 命令输出,并展示两种方法:使用 subprocess.Popenprocess.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 命令输出的功能,具体使用哪种方法取决于个人喜好和实际需求。

Python 实时监控 iperf3 命令输出

原文地址: https://www.cveoy.top/t/topic/qzE3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录