客户端完成进程后会自动关闭。我希望在服务器端也能做同样的事情,因为我想自动化一些过程,但服务器端完成后仍然保持打开状态。
iperf -s -P 1
,当客户端完成测试后,服务器将关闭自身。在iperf3中,您可以只给出-1参数,它将自动关闭。它只接受一个连接,并在完成时退出。
示例: % iperf3 -s -B 192.168.20.10 -p 70011 -1
-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
,以便它会在 t
秒后停止。默认的iperf客户端超时时间为10秒。因此,它在那之后停止。
试试看。这里两个都会在10
秒后停止。
服务器:iperf -s -t 10
客户端:iperf -c <ipaddress> -t 10
在后台启动它,等待其完成后再终止它。
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf
pkill -KILL iperf
。 - JPT
iperf -s -P 1
将导致服务器在完成一个客户端测试后退出。 - emorrisiperf3
,在我的情况下,我会像这样启动服务器:iperf3 -s -1
。也许在iperf
中是一样的?即:不是-P 1
,而只是-1
。 - FlexMcMurphy