我正在尝试启动一个iPerf服务器(它的程序类似于ping),并将其输出传输到.txt文件。
在另一台PC上,客户端正在向此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)
答案 0 :(得分: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"或" - 输出"。
我不确定为什么要使用">"没有用。