¿Hay alguna manera de decir pingque 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
pingmanual (é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
SIGQUITdesde el terminal presionando "Ctrl- \", no es necesario tener un segundo terminal abierto y usarkill.pings 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 nuevospings y / o reiniciar existentepings (para restablecer las estadísticas) y no es necesario realizar un seguimiento dePIDs parakill.& jobs ; fgparte 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
pingcomando; 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
pingcomando cada 3 segundos y le mostrará la salida continuamente.fuente
pingperderí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