¿Hay alguna manera de decir ping
que muestre sus estadísticas de terminación habituales sin detener la ejecución?
Por ejemplo, me gustaría ver rápidamente:
--- 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
sin tener que detener el programa, perdiendo así los datos acumulados.
linux
command-line
gnu
ping
2mac
fuente
fuente
Respuestas:
De la página de
ping
manual (énfasis mío):Esto funcionará si está bien con sus estadísticas siendo un poco menos detalladas:
Las estadísticas cortas se ven así:
fuente
SIGQUIT
desde el terminal presionando "Ctrl- \", no es necesario tener un segundo terminal abierto y usarkill
.ping
s continuo . Normalmente comienzowhile true; do ps -o "pid" -C "ping" h | xargs kill -SIGQUIT; sleep 20; done &
en la primera terminal antes de comenzarping
. Esto permite que empiece a nuevosping
s y / o reiniciar existenteping
s (para restablecer las estadísticas) y no es necesario realizar un seguimiento dePID
s parakill
.& jobs ; fg
parte del comando en la respuesta, ya que su único propósito es informar elPID
... Lo siento por el comentario adicional: no puedo editar mi comentario original debido al umbral de 5 minutos.Hay una manera más fácil de obtener las estadísticas de ping durante su ejecución: simplemente presione Ctrl + | (barra vertical o también se llama tubería)
Yo personalmente lo uso muy a menudo, pruébalo:
fuente
Ctrl + \
es la misma combinación de teclas mencionada en otras respuestas aquí:Ctrl + |
yCtrl + 4
. Todos producen una XLookupString de 0x1c que está vinculada a SIGQUIT como se muestra enstty -a
. Vea también métodos abreviados de teclado - Shell SIGKILL Keybinding - Super UserProbar Ctrl+4
Muestra una línea como esta:
fuente
Si su ping no admite un SIGQUIT útil (AIX, Solaris), aquí hay una solución alternativa : un bucle de ping infinito donde cada ping solo se dispara (por ejemplo) 10 pings, para que pueda ver resultados intermedios.
Para detenerlo, Control-Csolo puede matar el
ping
comando; es posible que deba suspender y luego eliminar el trabajo ( Control-z;kill %
).Por supuesto, esto no proporciona verdaderas estadísticas de ejecución, solo en el transcurso de esos 10 pings.
fuente
Puedes usar la utilidad de reloj
Eso ejecutará el
ping
comando cada 3 segundos y le mostrará la salida continuamente.fuente
ping
perdería el historial y, por lo tanto, no daría la información deseada.En Mac es Ctrl+ T.
Ctrl+ \hace lo mismo que Ctrl+ C, ya que detiene el ping después de mostrar las estadísticas.
fuente