रोक के बिना पिंग के आँकड़ों की जाँच करें


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
दरअसल, जैसा कि एंड्रियास ऊपर सुझाव देता है, आप पिंग को छोड़ने के बिना आंकड़े प्राप्त करने के लिए CTRL + \ का उपयोग कर सकते हैं।
जॉर्ज

जवाबों:


34

से pingमैनपेज (जोर मेरा):

जब निर्दिष्ट संख्या में पैकेट भेजे गए (और प्राप्त किए गए) या यदि प्रोग्राम एक हस्ताक्षर के साथ समाप्त हो गया है, तो एक संक्षिप्त सारांश प्रदर्शित किया जाता है। संकेत वर्तमान के साथ प्रक्रिया की समाप्ति के बिना छोटे वर्तमान आँकड़े प्राप्त किए जा सकते हैं।

तो यह तब काम करेगा जब आप अपने आँकड़ों से ठीक हों, थोड़ी सी क्रिया हो।

# 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
एंड्रियास विसे

6
इसके अलावा, BSD वेरिएंट पर (OSX सहित), पिंग एक SIGINFO सिग्नल के साथ सारांशित करता है, जिसे टर्मिनल में Ctrl-T के साथ ट्रिगर किया जा सकता है।
ब्रायन क्लाइन

1
मेरे पास नियमित रूप से कई टर्मिनल हैं जो निरंतर pingएस जा रहे हैं। मैं आमतौर पर while true; do ps -o "pid" -C "ping" h | xargs kill -SIGQUIT; sleep 20; done &पहले टर्मिनल में शुरू करने से पहले शुरू करता हूं ping। यह मुझे नए pings शुरू करने और / या मौजूदा pings को फिर से शुरू करने की अनुमति देता है (आँकड़े रीसेट करने के लिए) और इसके PIDलिए s को ट्रैक करने की आवश्यकता नहीं है kill
Starson Hochschild

1
इस विधि का उपयोग करने का अर्थ है & jobs ; fgकि उत्तर में कमांड के भाग का उपयोग करने की आवश्यकता नहीं है क्योंकि यह केवल उद्देश्य की रिपोर्ट कर रहा है PID... अतिरिक्त टिप्पणी के लिए क्षमा करें - 5 मिनट की सीमा के कारण अब मेरी मूल टिप्पणी को संपादित नहीं कर सकता।
स्टारसन होच्स्चिल्ड

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

मुझे यह देखकर आश्चर्य हुआ, कि मेरे लिए उबंटू बायोनिक में टर्मिनल चल रहा है, एक्सवी के अनुसार, Ctrl + \ अन्य उत्तरों में उल्लेखित कुंजी संयोजन के समान है: Ctrl + |और Ctrl + 4। सभी 0x1c के एक XLookupString उपज है जो SIGQUIT के लिए बाध्य है जैसा कि दिखाया गया है stty -aकीबोर्ड शॉर्टकट
nealmcb

4

कोशिश Ctrl+ करें4

यह इस तरह से एक लाइन दिखाता है:

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

1

यदि आपका पिंग एक उपयोगी साइक्विट (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

यह pingकमांड हर 3 सेकंड में चलेगा और आपको लगातार आउटपुट दिखाएगा।


2
यह वास्तव में सवाल का जवाब नहीं देता है। यदि आप ध्यान से पढ़ते हैं, तो उद्देश्य रनिंग आँकड़े होना था। एक नया रनिंग pingइतिहास खो देगा और इस तरह वांछित जानकारी नहीं देगा।
2mac

1

पर मैक यह है Ctrl+ T

Ctrl+ \के रूप में ही करता है Ctrl+ Cके रूप में यह आंकड़े दिखा के बाद पिंग बंद हो जाता है,।


कुडोस से @ ब्रायन-क्लाइड, बस उन्होंने एक टिप्पणी में मेरे सामने जवाब दिया।
स्टीफन रोजिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.