2016-10-05 8 views
1

После завершения процесса клиент автоматически закрывается. Я хотел бы сделать то же самое на стороне сервера, потому что я хочу автоматизировать некоторые процессы, но серверная часть заканчивается, но остается открытой.Как я могу остановить сервер iperf при его завершении?

ответ

1

использование iperf опция -t. Чтобы он остановился после t секунд. Тайм-аут клиента iperf по умолчанию - 10 секунд. поэтому он останавливается после этого.

Попробуйте. Здесь оба будут останавливаться после 10 секунд.

Сервер: Iperf -s -t 10

Заказчик: Iperf -c < IPAddress> -t 10

0

запустить его в фоновом режиме, подождите, пока не будет завершена, и после того, как убить его.

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

Я думаю, что это зависит от версии. Я могу говорить за 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.)