Verifique as estatísticas do ping sem parar

22

Existe uma maneira de dizer ao ping para mostrar suas estatísticas usuais de terminação sem interromper a execução?

Por exemplo, gostaria de ver rapidamente:

--- 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

sem ter que parar o programa, perdendo assim os dados acumulados.

    
por 2mac 10.07.2014 / 19:53

5 respostas

28

Na coluna ping (ênfase minha):

When the specified number of packets have been sent (and received) or if the program is terminated with a SIGINT, a brief summary is displayed. Shorter current statistics can be obtained without termination of process with signal SIGQUIT.

Então, isso funcionará se você estiver bem com suas estatísticas sendo um pouco menos detalhadas:

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

<... in another terminal ...>

kill -SIGQUIT $PID

Estatísticas resumidas são assim:

19/19 packets, 0% loss, min/avg/ewma/max = 0.068/0.073/0.074/0.088 ms
    
por 10.07.2014 / 20:17
6

Há mais uma maneira fácil de obter as estatísticas de ping durante sua execução: Basta pressionar Ctrl + | (barra vertical ou também chamado de linha de tubo)

Eu o uso pessoalmente com muita frequência, tente:

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
    
por 21.12.2016 / 21:45
4

Tente Ctrl + 4

Ele mostra uma linha como esta:

312/312 packets, 0% loss, min/avg/ewma/max = 0.312/1.236/0.505/208.655 ms
    
por 05.07.2017 / 10:34
1

Se o seu ping não suporta um SIGQUIT (AIX, Solaris) útil, aqui está uma solução alternativa - um loop de ping infinito onde cada ping é disparado (por exemplo) 10 pings, para que você possa veja resultados intermediários.

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

Para parar, Control-C pode apenas matar o comando ping ; você pode precisar suspender e depois matar o trabalho ( Control-z ; kill % ).

Isso, é claro, não fornece estatísticas verdadeiras de execução - apenas no decorrer desses 10 pings.

    
por 28.04.2016 / 20:10
1

Você pode usar o utilitário watch

watch -n 3 ping -c 1 10.170.0.21

Isso executará o comando ping a cada 3 segundos e mostrará a saída continuamente.

    
por 13.11.2017 / 08:40