如何在完成后停止iperf服务器?

客户端完成后,该过程将自动关闭。我想在服务器端做同样的事情,因为我想自动化一些进程,但服务器端完成但仍保持打开状态。

1
投票

使用iperf选项-t。所以它会在t秒后停止。默认的iperf客户端超时为10秒。所以它在那之后就停止了。

尝试。这两个都将在10秒后停止。

服务器:iperf -s -t 10

客户:iperf -c <ipaddress> -t 10

1
投票

在后台启动它,等到它完成后再杀死它。

iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf
1
投票

我认为这取决于版本。我可以代表我们最近添加此功能的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。)

0
投票

在iperf的服务器端,时间限制没有'-t'选项。您可以使用'-p'选项限制传入的客户端。

例如,如果运行〜#iperf -s -P 2,则在两个客户端完成测试后,服务器会自行关闭。

0
投票

在iperf3中,您可以只给出-1参数,它将自动关闭。它只接受一个连接,并在完成后退出。

示例:%iperf3 -s -B 192.168.20.10 -p 70011 -1