멈추지 않고 핑 통계 확인


28

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

프로그램을 중지하지 않고도 축적 된 데이터가 손실됩니다.


2
실제로 Andreas가 위에서 제안한 것처럼 CTRL + \를 사용하여 ping을 종료하지 않고 통계를 얻을 수 있습니다.
George

답변:


34

로부터 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

32
약간의 추가 : SIGQUIT"Ctrl- \"를 누르면 터미널에서 방출 할 수 있습니다. 두 번째 터미널을 열 필요가 없습니다 kill.
Andreas Wiese

6
또한 BSD 변형 (OSX 포함)에서 ping은 SIGINFO 신호로 요약되며 터미널에서 Ctrl-T로 트리거 할 수 있습니다.
브라이언 클라인

1
나는 지속적으로 여러 터미널을 지속적으로 사용 ping하고 있습니다. 나는 보통 시작 while true; do ps -o "pid" -C "ping" h | xargs kill -SIGQUIT; sleep 20; done &하기 전에 첫 번째 터미널에서 시작합니다 ping. 이것은 나에게 새로운 시작 할 수 있습니다 ping들 및 / 또는 다시 시작 기존 ping(통계를 재설정) 및 추적 할 필요가 없습니다들 PID에 대한들 kill.
Starson Hochschild

1
이 방법을 사용하면 & jobs ; fg응답 목적으로 명령 의 일부 를 사용할 필요가 없음을 의미 PID합니다. 추가 의견에 대해 죄송합니다. 5 분 임계 값으로 인해 더 이상 원래 의견을 편집 할 수 없습니다.
Starson Hochschild

12

실행 중에 핑 통계를 얻는 쉬운 방법이 하나 더 있습니다. 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

2
운명의 비틀기에서, 나는 선택한 최고의 답변에서 내 답변을 얻은 후 실제로 특정 기능에 대한 코드를 작성했습니다.
2mac

나는 것으로 xev에 따르면, 우분투 슈퍼맨 터미널을 실행에 나를 위해, 그보고 놀랐어요 Ctrl + \ 여기 다른 답변에서 언급 한 키 조합과 동일하다 : Ctrl + |Ctrl + 4. 모두 다음과 같이 SIGQUIT에 바인딩 된 0x1c의 XLookupString을 생성합니다 stty -a. 키보드 단축키
바인딩

4

시도 Ctrl+4

다음과 같은 줄이 표시됩니다.

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

1

핑이 유용한 SIGQUIT (AIX, Solaris)를 지원하지 않는 경우, 한 가지 해결 방법이 있습니다 . 무한 핑 루프는 각 핑이 10 개의 핑만 발생시키는 중간 핑 루프이므로 중간 결과를 볼 수 있습니다.

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

중지하려면 명령 Control-C만 종료하십시오 ping. 작업을 일시 중단 한 다음 종료해야 할 수도 있습니다 ( Control-z; kill %).

물론 이것은 10 개의 핑 과정을 통해서만 실제 실행 통계를 제공하지 않습니다.


1

시계 유틸리티를 사용할 수 있습니다

watch -n 3 ping -c 1 10.170.0.21

그러면 ping3 초마다 명령 이 실행 되고 출력이 계속 표시됩니다.


2
이것은 실제로 질문에 대답하지 않습니다. 주의 깊게 읽으면, 통계를 실행하는 것이 목적입니다. 새로운 ping것을 운영 하면 역사가 없어져 원하는 정보를 얻지 못할 것입니다.
2mac

1

그건 Ctrl+를 T.

Ctrl+ \는 통계를 표시 한 후 핑을 중지 하므로 Ctrl+ 와 동일 C합니다.


@ brian-clide에 대한 조언은 방금 그가 내 의견에 답하기를 알았습니다.
Stefan Rogin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.