Existe uma maneira de dizer ping
para mostrar suas estatísticas de terminação habituais sem interromper a execução?
Por exemplo, eu gostaria de visualizar 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.
linux
command-line
gnu
ping
2mac
fonte
fonte
Respostas:
Na página de
ping
manual (ênfase minha):Portanto, isso funcionará se você estiver bem com suas estatísticas um pouco menos detalhadas:
Estatísticas breves são assim:
fonte
SIGQUIT
from the terminal by hitting "Ctrl-\", no need to have a second terminal open and usekill
.ping
. Normalmente começowhile true; do ps -o "pid" -C "ping" h | xargs kill -SIGQUIT; sleep 20; done &
no primeiro terminal antes de iniciar oping
. Isso permite que eu inicie novos seping
/ ou reinicie os existentesping
(para redefinir as estatísticas) e não precise rastreá-PID
loskill
.& jobs ; fg
parte do comando na resposta, pois seu único objetivo é reportar oPID
... Desculpe pelo comentário adicional - não é mais possível editar meu comentário original devido ao limite de 5 minutos.Há mais uma maneira fácil de obter as estatísticas de ping durante a execução: basta pressionar Ctrl + | (barra vertical ou também é chamada de tubulação)
Eu pessoalmente o uso com muita frequência, tente:
fonte
Ctrl + \
é o mesmo que a combinação de teclas mencionada em outras respostas aqui:Ctrl + |
eCtrl + 4
. Todos produzem um XLookupString de 0x1c que está vinculado a SIGQUIT, conforme mostrado porstty -a
. Veja também atalhos de teclado - Shell SIGKILL KeybindingExperimente Ctrl+4
Mostra uma linha como esta:
fonte
Se o seu ping não suportar um SIGQUIT útil (AIX, Solaris), aqui está uma solução alternativa - um loop infinito de ping em que cada ping dispara apenas (por exemplo) 10 pings, para que você possa ver resultados intermediários.
Para pará-lo, Control-Cpode apenas matar o
ping
comando; pode ser necessário suspender e depois matar o trabalho ( Control-z;kill %
).Obviamente, isso não fornece estatísticas de execução verdadeiras - apenas ao longo desses 10 pings.
fonte
Você pode usar o utilitário de relógio
Isso executará o
ping
comando a cada 3 segundos e mostrará a saída continuamente.fonte
ping
perderia o histórico e, portanto, não forneceria a informação desejada.No Mac , é Ctrl+ T.
Ctrl+ \faz o mesmo que Ctrl+ C, pois para o ping depois de mostrar as estatísticas.
fonte