一旦客户端完成,该进程将自动关闭。我想在服务器端做同样的事情,因为我想自动化一些流程,但服务器端完成了,但仍然是开放的。
在iperf3中,你只需要输入-1参数,它就会自动关闭。它只接受一个连接,并在连接完成后退出。
的例子:% iperf3 -s -B 192.168.20.10 -p 700 -1
我认为这取决于版本。我可以代表iperf2,我们最近添加了这个功能。当-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选项-t
。这样它将在t
秒后停止。默认iperf客户端超时时间为10秒。因此,它在此之后停止。
试一试。在10
秒后两者都将停止。
服务器:iperf -s -t 10
客户端:iperf -c-t 10
在后台启动,等待完成,然后杀死它。
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf