クライアントが完了すると、プロセスは自動的に閉じられます。一部のプロセスを自動化したいので、サーバー側でも同じことをしたいのですが、サーバー側は終了しますが開いたままです。
5 に答える
バージョンによると思います。最近この機能を追加したiperf 2について話すことができます。が起動すると、-server
最終的に「サーバー」ごとに 2 つのスレッド、リスナー スレッドとトラフィック (レシーバー/サーバー) スレッドが存在します。リスナー-t
スレッドのタイムアウトとトラフィック スレッドの時間を設定します。リスナー スレッドはトラフィック スレッドの親であるため、終了する前にトラフィック スレッドが完了するまで待機する必要があります。
例:iperf -s -t 30
リスナーを 30 秒間維持する問題があるとします。30 秒以内にクライアントが表示されない場合、「サーバー」は 30 秒後に終了します。iperf -s -t 30
ただし、クライアントが接続してから 20 秒後に、たとえばiperf -c <server> -t 30
、リスナー/サーバーは終了する前に 20 + 30 秒間待機します。(注: クライアントの-t <value>
はサーバーに渡されないため、 はclientserver -t
と同じかそれ以上である必要があります-t
。)
iperf オプションを使用します-t
。t
数秒後に停止するようにし ます。デフォルトの iperf クライアント タイムアウトは 10 秒です。だからその後止まる。
試す。10
ここでは、両方とも数秒後に停止します。
サーバー: iperf -s -t 10
クライアント: iperf -c <ipaddress> -t 10
バックグラウンドで開始し、完了するまで待ってから終了します。
iperf -s -w 2Mb -p 5001 &
sleep 20
pkill iperf