【发布时间】:2017-02-14 00:55:47
【问题描述】:
一旦客户端完成,进程就会自动关闭。我想在服务器端做同样的事情,因为我想自动化一些流程,但服务器端完成但保持打开状态。
【问题讨论】:
一旦客户端完成,进程就会自动关闭。我想在服务器端做同样的事情,因为我想自动化一些流程,但服务器端完成但保持打开状态。
【问题讨论】:
在 iperf3 中,你可以只给 -1 参数,它会自动关闭。它只接受一个连接,完成后会退出。
示例: % iperf3 -s -B 192.168.20.10 -p 70011 -1
【讨论】:
使用 iperf 选项 -t 。这样它就会在t 秒后停止。默认 iperf 客户端超时为 10 秒。所以它在那之后就停止了。
试试看。这里两者都将在10 秒后停止。
服务器:iperf -s -t 10
客户端:iperf -c
-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 -P 1 将导致服务器在一个客户端测试完成后退出。
在后台启动它,等待它完成并杀死它。
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf
【讨论】:
pkill -KILL iperf