Когда я запускаю команду ping, я часто делаю это с целью выяснить, когда конкретная машина запускается, например, после перезагрузки. Но недавно (читай: за последние несколько лет) я заметил, что после 10 или 15 секунд отсутствия ответа, ping начинает очень сильно болтать, постоянно отображая "Узел назначения недоступен" каждую секунду! Это очень раздражает. Одна из самых больших диагностических применений пингом Раньше считалось , что любой вывод вообще означало , что хозяин был до.

Итак, как я могу избавиться от этого глупого назойливого поведения и заставить его печатать только реальные пинги? Эти "целевые узлы недоступны" не собираются работать с stderr, как я и ожидал, что программа с хорошим поведением будет делать с ошибками, поэтому я не могу перенаправить stderr, чтобы избавиться от них!

2 ответа2

1

"Узел назначения недоступен" задается, когда система не знает, как отправить запрос ping на удаленный узел. Это означает, что ваша система или промежуточный маршрутизатор не имеют записи / правила таблицы маршрутизации, которые позволяют пересылать пакет маршрутизатору, ответственному за эту сеть.

И он становится "чрезвычайно болтливым", потому что это происходит для каждого пакета (то есть он не теряется, но по сути вы получаете сообщение «не знаю, как доставить этот пакет» обратно для каждого).

Вы можете отфильтровать их через grep, хотя

ping 192.168.5.1 | grep -v "host unreachable"
0

Опция -i может помочь вам (со страницы руководства ping):

    -i interval
           Wait interval seconds between sending each packet.  The
           default  is  to wait for one second between each packet
           normally, or not to wait in flood mode. Only super-user
           may set interval to values less 0.2 seconds.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .