web-dev-qa-db-ja.com

ping -wとping -Wの違いは何ですか?

ping-w(期限)フラグとは何ですか? pingのマニュアルページに説明がありません。パラメータとして数秒かかる-Wのみ。それらの違いは何ですか?また、pingタイムアウト(ホストが応答しない場合)を200msに設定するにはどうすればよいですか?

15
Rafael T

man pingから:

   -w deadline
          Specify a timeout, in seconds, before ping exits regardless of how many packets have been sent or received. In this case ping does not stop after count packet are sent, it waits either for deadline expire or until count probes are answered or for some error
          notification from network.

   -W timeout
          Time to wait for a response, in seconds. The option affects only timeout in absense of any responses, otherwise ping waits for two RTTs.

つまり、-wプログラムセッション全体のタイムアウトを設定します。 -w 30を設定すると、ping(プログラム)は30秒後に終了します。

一方、-Wsingle pingのタイムアウトを設定します。 -W 1を設定すると、その特定のping試行はタイムアウトになります。

個々のpingタイムアウトを200ミリ秒に設定する方法については、これがiputilsのバージョンのpingで実行できるとは思いません。 ICMPライブラリーを使用して直接プログラミングを試すこともできます。

20
Chris Down

私のマンページ(Fedora 18、iputils-20121221-1.fc18)は言う

   -w deadline
          Specify  a  timeout, in seconds, before ping exits regardless of
          how many packets have been sent or received. In this  case  ping
          does  not  stop after count packet are sent, it waits either for
          deadline expire or until count probes are answered or  for  some
          error notification from network.

   -W timeout
          Time to wait for a response, in seconds. The option affects only
          timeout in absence of any responses, otherwise  ping  waits  for
          two RTTs.
1
vonbrand

すべての良い答えですが、(私のように)プラットフォーム間でコードを移植する場合は、この癖に注意してください。以下のテキストは、それぞれの「man ping」ドキュメントからのものです。

Mac OS Xの場合:

-Wwaittime

    送信時間ミリ秒送信された各パケットに対する応答を待機します。

Raspberry Piの場合:

-Wtimeout

    secondsでの応答を待つ時間。

Macで1秒(1,000 µms)待つようにコード化しました-W 1000、ただしこのコードがPiに移動すると、最大1,000秒待機しました。

1
Yutenji