Ответы:
От 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 секунд.
-W
с другой стороны устанавливает время ожидания для одного пинга . Если вы установите -W 1
, эта конкретная попытка проверки связи истечет время ожидания.
Что касается того, как установить индивидуальный таймаут пинга в 200 мс, я не верю, что это можно сделать с помощью iputils
«версии» ping
. Возможно, вы захотите попробовать напрямую программировать с помощью библиотеки ICMP.
-w
флаг, но есть описание. Я просто верил, что это принадлежит -W. Так нет способа определить тайм-аут меньше, чем 1 с?
-w
, -c
будут игнорироваться. Если вам нужен только один пинг, вы можете использовать -c 1 -W 4
любой подходящий для вас тайм-аут.
Моя страница руководства (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.
Все хорошие ответы, но следите за этой причудой, если (как и я) вы переносите код между платформами. Текст ниже взят из соответствующей документации «man ping».
В Mac OS X:
-W
waittime
Время в миллисекундах для ожидания ответа на каждый отправленный пакет.
На Raspberry Pi:
-W
timeout
Время ожидания ответа в секундах .
Я запрограммировал на Mac ждать 1 секунду (1000 мс) -W 1000
, но когда этот код переместился на Pi, он ждал до 1000 секунд!
ping
исполняемый файл? Есть несколько разных версий ping вокруг, с разными опциями.