pingの実行時に「宛先ホストに到達できません」を抑制する方法


0

pingコマンドを実行するとき、特定のマシンがリブートなどで起動したことを知ることを目標に念頭に置いて実行することがよくあります。しかし最近(ここ数年で)返事がないのに10から15秒後に、pingが非常にチャットを開始し、「Destination Host Unreachable」を毎秒繰り返し表示することに気付きました!これは非常に迷惑です。ピングの偉大な診断用途の1つは、使用任意の出力がまったくホストがアップしたことを意味していることであることを。

だから、どうすればこの愚かな迷惑な動作を取り除き、実際のpingを出力するだけですか?これらの「Destination Host Unreachable」は、正常に動作するプログラムがエラーを処理することを期待するようにstderrにはなりません。そのため、stderrをリダイレクトしてそれらを取り除くことはできません!

回答:


1

システムが最初にリモートホストにping要求を送信する方法を知らない場合、「宛先ホストに到達できません」が表示されます。これは、システムまたはその間のルーターに、そのネットワークを担当するルーターにパケットを転送できるルーティングテーブルエントリ/ルールがないことを意味します。

また、これはすべてのパケットで発生するため、「非常におしゃべり」になります(つまり、失われるわけではありませんが、本質的には、「このパケットを配信する方法がわからない」メッセージが返されます)。

ただし、grepで除外できます

ping 192.168.5.1 | grep -v "host unreachable"

私は間違っているかもしれませんが、Linuxではリアルタイムで動作すると信じています。
コラボレーター

私は修正された、私はばかであり、下票が取り除かれ、上票が追加された。
テルドン

とても有難い。
コラボレーター

0

-iオプションが役立ちます(pingのmanページから):

    -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.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.