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