客户端完成后,该过程将自动关闭。我想在服务器端做同样的事情,因为我想自动化一些流程,但服务器端完成但保持打开状态。
5 回答
在 iperf3 中,您只需提供 -1 参数,它将自动关闭。它只接受一个连接,完成后将退出。
示例:% iperf3 -s -B 192.168.20.10 -p 70011 -1
使用 iperf 选项-t
。这样它会在 t
几秒钟后停止。默认 iperf 客户端超时为 10 秒。所以它在那之后停止。
尝试。在这里,两者都会在10
几秒钟后停止。
服务器:iperf -s -t 10
客户端:iperf -c <ipaddress> -t 10
我认为这取决于版本。我可以代表iperf 2,我们最近在其中添加了此功能。当-server
启动时,每个“服务器”最终将有两个线程,一个侦听器线程和一个流量(接收器/服务器)线程。一些事情也是如此-t
,它设置侦听器线程超时和流量线程的时间。侦听器线程是流量线程的父级,因此它必须等待流量线程完成才能终止。
示例:假设有一个问题iperf -s -t 30
将使听众停留 30 秒。如果在 30 秒内没有客户端出现,“服务器”将在 30 秒后终止。iperf -s -t 30
但是,如果在客户端连接后 20 秒,例如iperf -c <server> -t 30
,监听器/服务器将在终止前停留 20 + 30 秒。(注意:客户端-t <value>
没有传递给服务器,因此server -t
需要等于或大于客户端-t
。)
在 iperf 的服务器端,没有-t
时间限制选项。您可以使用-P
选项来限制传入的客户端。
例如,如果您运行iperf -s -P 1
命令,则在客户端完成测试后,服务器会自行关闭。
在后台启动它,等到它完成并杀死它之后。
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf