如何将iperf命令提示符输出导入文本文件?

0 投票
1 回答
3123 浏览
提问于 2025-04-18 16:09

我正在尝试启动一个叫做iPerf的服务器(它类似于ping命令),并把它的输出结果保存到一个.txt文件里。

在另一台电脑上,客户端正在向这个IP地址发送数据流量。

这是我使用的命令:

start "LocalFLServer" iperf -s -w 1024k -i 2 -B 10.42.113.120 -p5003

我想把它的输出结果保存到一个txt文件,所以我试过这两种方法:

start "LocalFLServer" iperf -s -w 1024k -i 2 -B 10.42.113.120 -p5003 -o dl_tcp.txt

还有

start "LocalFLServer" iperf -s -w 1024k -i 2 -B 10.42.113.120 -p5003 > dl_tcp.txt

但是这两种方法都无法把结果保存到.txt文件里。

问题在于,我是在一个单独的命令提示符窗口中使用'start'命令来启动这个服务器。我知道如果我去掉'start',它就会写入一个.txt文件,但不幸的是,在我用system()发送这个命令后,Perl脚本需要立即运行另一个指令,否则程序就会停在那里,我不想这样。

求助。

编辑:在Perl中,我是这样添加/发送指令的:

system(start "LocalFLServer" iperf -s -w 1024k -i 2 -B 10.42.113.120 -p5003 -o dl_tcp.txt)

1 个回答

1

我不太确定,但我觉得iperf的文件日志功能可能有问题。从这个链接来看:https://code.google.com/p/iperf/issues/detail?id=24,这个问题在2013年12月23日之前似乎一直没有解决。

我还查看了iperf的源代码,在这个文件里:https://github.com/esnet/iperf/blob/master/src/main.c,参数是传递给一个叫“iperf_parse_arguments”的函数,这个函数在另一个文件里:https://github.com/esnet/iperf/blob/master/src/iperf_api.c。我查看这个方法时,没看到有处理“-o”或“--output”的内容。

我不太明白为什么使用“>”不管用。

撰写回答