Wofür steht die -w
(Frist-) Flagge ping
? Ich kann keine Beschreibung in der ping
Manpage 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?
14
ping
ausführbare Datei? Es gibt verschiedene Ping-Versionen mit unterschiedlichen Optionen.Antworten:
Von
man ping
:Das heißt,
-w
setzt das Timeout für die gesamte Programmsitzung . Wenn Sie einstellen-w 30
, wirdping
(das Programm) nach 30 Sekunden beendet.-W
Legt 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
iputils
der Version von möglich ist, um ein individuelles Ping-Timeout von 200 ms festzulegenping
. Möglicherweise möchten Sie versuchen, direkt mit einer ICMP-Bibliothek zu programmieren.quelle
-w
Flagge, 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?-w
,-c
wird ignoriert. Wenn Sie nur einen einzigen Ping benötigen, können Sie-c 1 -W 4
eine für Sie geeignete Zeitüberschreitung verwenden.Meine Manpage (Fedora 18, iputils-20121221-1.fc18) sagt
quelle
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:
Auf Raspberry Pi:
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!quelle