Яка різниця між ping -w і ping -W?


15

Для чого -wвказаний прапор (термін) ping? Я не можу знайти його опис на pingсторінці людини; лише для -W, який займає секунду як параметр. Яка різниця між ними, і як я можу встановити тайм-аут пінг (якщо хост не відповідає) на 200 мс?


1
На якій операційній системі та якщо Linux, дистрибутив та який пакет є pingвиконуваним? Існує кілька різних версій ping, з різними варіантами.
Жил 'SO- перестань бути злим'

Відповіді:


20

Від 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, то ця конкретна спроба ping закінчиться.

Щодо того, як встановити індивідуальний тайм-аут пінг у 200 мс, я не вірю, що це можна зробити з iputils'версією Windows ping. Ви можете спробувати безпосередньо програмування з бібліотекою ICMP.


2
о, на моїй сторінці man (archlinux) відсутній -wпрапор, але є опис. Я просто вважав, що він належить до -W. Тож жодний спосіб визначити тайм-аут менший за 1с?
Рафаель T

@RafaelT Не наскільки я знаю.
Кріс Даун

Щоб було зрозуміло: якщо ви користуєтесь -w, -cбуде проігноровано. Якщо вам потрібен лише один пінг, ви можете використовувати -c 1 -W 4або будь-який інший варіант, який підходить для вас.
Іван

1

Моя сторінка (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

Усі добрі відповіді, але стежте за цією химерністю, якщо (як і я) ви переносите код між платформами. Наведений нижче текст - з відповідної документації "man ping".

У Mac OS X:

-W waittime

    Час в мілісекундах, щоб чекати відповіді на кожен відправлений пакет.

На Raspberry Pi:

-W timeout

    Час чекати відповіді, в секундах .

Я зашифрував на Mac, щоб зачекати 1 секунду (1000 мс) як -W 1000, але коли цей код перемістився на Pi, він чекав до 1000 секунд!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.