web-dev-qa-db-ja.com

停止せずにping統計を確認する

実行を停止せずに通常の終了統計を表示するようにpingに指示する方法はありますか?

たとえば、私はすぐに見たいと思います:

--- 8.8.8.8 ping statistics ---
2410 packets transmitted, 2274 received, +27 errors, 5% packet loss, time 2412839ms
rtt min/avg/max/mdev = 26.103/48.917/639.493/52.093 ms, pipe 3

プログラムを停止する必要がないため、蓄積されたデータが失われます。

33
2mac

pingのマンページから(私の強調):

指定された数のパケットが送信(および受信)された場合、またはプログラムがSIGINTで終了した場合、簡単な要約が表示されます。 シグナルSIGQUITでプロセスを終了せずに、より短い現在の統計を取得できます。

したがって、統計が少し冗長で問題がなければ、これは機能します。

# the second part is only for showing you the PID
ping 8.8.8.8 & jobs ; fg

<... in another terminal ...>

kill -SIGQUIT $PID

短い統計は次のようになります。

19/19 packets, 0% loss, min/avg/ewma/max = 0.068/0.073/0.074/0.088 ms
36
pmos

実行中にping統計を取得する簡単な方法が1つあります。単にCtrl +を押します(垂直スラッシュまたはパイプラインとも呼ばれます)。

私は個人的に非常に頻繁に使用しています。試してみてください。

64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=0.893 ms
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=0.862 ms
64 bytes from 192.168.1.1: icmp_seq=24 ttl=64 time=3.18 ms
64 bytes from 192.168.1.1: icmp_seq=35 ttl=64 time=0.877 ms
64 bytes from 192.168.1.1: icmp_seq=36 ttl=64 time=0.866 ms
**36/36 packets, 0% loss, min/avg/ewma/max = 0.832/0.993/0.930/3.185 ms**
64 bytes from 192.168.1.1: icmp_seq=37 ttl=64 time=0.909 ms
64 bytes from 192.168.1.1: icmp_seq=38 ttl=64 time=2.03 ms
64 bytes from 192.168.1.1: icmp_seq=39 ttl=64 time=0.839 ms
64 bytes from 192.168.1.1: icmp_seq=40 ttl=64 time=0.880 ms
13
Dr. Alexander

試す Ctrl+4

次のような行が表示されます。

312/312 packets, 0% loss, min/avg/ewma/max = 0.312/1.236/0.505/208.655 ms
5
Alexindro

Macの場合 Ctrl+T

Ctrl+\ 同じことをする Ctrl+C、統計を表示した後にpingを停止するため。

4
Stefan Rogin

Pingが有用なSIGQUIT(AIX、Solaris)をサポートしていない場合は、次の1つworkaround-無限のpingループで、各pingが(たとえば)10個のpingを実行するだけなので、中間結果を確認できます。 。

while :; do ping -c 10 $Host; done

それを止めるには Control-Cpingコマンドのみを強制終了できます。ジョブを一時停止してから強制終了する必要がある場合があります(Control-z; kill %)。

もちろん、これは真の稼働統計を提供しません-それらの10回のpingの間だけです。

2
Jeff Schaller

時計ユーティリティを使用できます

watch -n 3 ping -c 1 10.170.0.21

これにより、pingコマンドが3秒ごとに実行され、出力が継続的に表示されます。

1