Was ist der Unterschied zwischen Ping-W und Ping-W?

14

Wofür steht die -w(Frist-) Flagge ping? Ich kann keine Beschreibung in der pingManpage finden; nur für -W, was als Parameter Sekunden dauert. Was ist der Unterschied zwischen ihnen und wie kann ich ein Ping-Timeout (wenn der Host nicht antwortet) auf 200 ms einstellen?

Rafael T.
quelle
1
Unter welchem ​​Betriebssystem und unter Linux, Distribution und in welchem ​​Paket ist die pingausführbare Datei? Es gibt verschiedene Ping-Versionen mit unterschiedlichen Optionen.
Gilles 'SO - hör auf böse zu sein'

Antworten:

19

Von 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.

Das heißt, -wsetzt das Timeout für die gesamte Programmsitzung . Wenn Sie einstellen -w 30, wird ping(das Programm) nach 30 Sekunden beendet.

-WLegt andererseits das Zeitlimit für einen einzelnen Ping fest . Wenn Sie festlegen -W 1, tritt bei diesem bestimmten Ping-Versuch eine Zeitüberschreitung auf.

Ich glaube nicht, dass dies mit iputilsder Version von möglich ist, um ein individuelles Ping-Timeout von 200 ms festzulegen ping. Möglicherweise möchten Sie versuchen, direkt mit einer ICMP-Bibliothek zu programmieren.

Chris Down
quelle
2
Oh, meiner Manpage (Archlinux) fehlt die -wFlagge, aber sie hat die Beschreibung. Ich habe nur geglaubt, dass es zu -W gehört. Also keine Möglichkeit, ein Timeout zu definieren, das kleiner als 1s ist?
Rafael T
@ RafaelT Soweit ich weiß.
Chris Down
Um es klar zu machen: Wenn Sie verwenden -w, -cwird ignoriert. Wenn Sie nur einen einzigen Ping benötigen, können Sie -c 1 -W 4eine für Sie geeignete Zeitüberschreitung verwenden.
John
1

Meine Manpage (Fedora 18, iputils-20121221-1.fc18) sagt

   -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.
vonbrand
quelle
1

Alles gute Antworten, aber achten Sie auf diese Eigenart, wenn Sie (wie ich) Code zwischen Plattformen portieren. Der folgende Text stammt aus der jeweiligen 'Man Ping'-Dokumentation.

Unter Mac OS X:

-W waittime

    Wartezeit in Millisekunden auf eine Antwort für jedes gesendete Paket.

Auf Raspberry Pi:

-W timeout

    Wartezeit auf eine Antwort in Sekunden .

Ich habe auf dem Mac codiert, um 1 Sekunde (1.000 ms) zu warten -W 1000, aber als dieser Code auf den Pi verschoben wurde, wartete er bis zu 1.000 Sekunden!

Yutenji
quelle