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

时间:2016-10-05 14:12:58

标签: unix process kill iperf

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

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

  

服务器:iperf -s -t 10

     

客户:iperf -c&lt; ipaddress&gt; -t 10

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

在iperf3中,您只需提供-1参数,它将自动关闭。它仅接受一个连接,连接完成后将退出。

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