Как только клиент завершает работу, процесс автоматически закрывается. Я хотел бы сделать то же самое в серверной части, потому что я хочу автоматизировать некоторые процессы, но серверная часть завершается, но остается открытой.
Как я могу остановить сервер iperf, когда он завершится?
Ответы (5)
В iperf3 вы можете просто указать параметр -1, и он автоматически закроется. Он принимает только одно соединение и завершит работу, когда оно будет завершено.
Пример: % iperf3 -s -B 192.168.20.10 -p 70011 -1
используйте опцию iperf -t
. Так что он остановится через t
секунды. Время ожидания клиента iperf по умолчанию составляет 10 секунд. поэтому он останавливается после этого.
Пытаться. Здесь оба остановятся через 10
секунд.
Сервер: iperf -s -t 10
Клиент: iperf -c ‹i-адрес> -t 10
Я думаю, это зависит от версии. Я могу говорить за iperf 2, где мы недавно добавили эту возможность. Когда -server
запускается, в конечном итоге будет два потока на «сервер», поток слушателя и поток трафика (получатель/сервер). Так что -t
делает несколько вещей, он устанавливает тайм-аут потока слушателя и время потоков трафика. Поток прослушивателя является родителем потока трафика, поэтому он должен дождаться завершения потоков трафика, прежде чем он сможет завершиться.
Пример: допустим, кто-то выпускает iperf -s -t 30
, который удерживает слушателя в течение 30 секунд. Если ни один клиент не появится в течение 30 секунд, «сервер» отключится через 30 секунд. Но если через 20 секунд после iperf -s -t 30
подключается клиент, например. iperf -c <server> -t 30
, тогда прослушиватель/сервер будет оставаться в течение 20 + 30 секунд перед завершением. (Примечание: -t <value>
клиента не передается на сервер, поэтому server -t
должно быть равно или больше, чем -t
клиентов.)
В серверной части iperf нет опции -t
для ограничения времени. Вы можете использовать опцию -P
для ограничения входящих клиентов.
Например, если вы запустите команду iperf -s -P 1
, после того, как клиент завершит тест, сервер выключится.
iperf -s -P 1
заставит сервер выйти после завершения одного клиентского теста.
- person emorris; 22.05.2020
Запустите его в фоновом режиме, подождите, пока он не завершится, и после этого убейте его.
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf
pkill -KILL iperf
- person JPT; 02.07.2018