मैं कमांड-लाइन से समय कैसे ट्रैक कर सकता हूं?


11

मैं समय को ट्रैक करने के लिए एक कमांड की तलाश कर रहा हूं।

मैं निम्नलिखित वर्कफ़्लो की कल्पना करता हूं:

  1. कमांड चलाएं
  2. ...कुछ और करो...
  3. टर्मिनल विंडो पर लौटें और कमांड को रोकें
  4. एक आउटपुट के रूप में आपको 3 और 1 के बीच का समय मिलता है

@JacobVlijm मुझे अनवर के जवाब की स्पष्टता पसंद है। एक गैर-तकनीकी उपयोगकर्ता के रूप में यह समझना अधिक आसान है कि संभावित डुप्लिकेट थ्रेड में उत्तर। तुम क्या सोचते हो?
orchichiro

2
@JacobVlijm मुझे नहीं लगता कि यह कोई डुप्लिकेट है। यहां ओपी स्टॉपवॉच के लिए पूछ रहा है, वहां सवाल पूछ रहा है कि प्रक्रिया निष्पादन समय को कैसे मापें।
सेठ

@ सेठ ठीक है, वोट वापस लिया गया।
याकूब Vlijm

@ क्या आपने मेरी टिप्पणी ऊपर पढ़ी है?
सेठ

जवाबों:


20

यह उत्तर उपयोग करने का सुझाव देता है

time cat

और उपयोग Ctrl- Dसमय देखने के लिए।

आप भी उपयोग कर सकते हैं

time read

और Enterकुंजी का उपयोग करें

इसी प्रश्न पर इस उत्तर को भी देखें



cat^D^C
नाइट:

6

कैसा रहेगा:

stopwatch() { 
    local start=$SECONDS
    read -p "Hit Enter..."
    echo $((SECONDS-start)) seconds elapsed
}

कार्रवाई में:

$ stopwatch 
Hit Enter...
14 seconds elapsed

3

इसे करने का सरल तरीका है कि आप समय निकालना शुरू करें, और एक बार स्क्रिप्ट बंद करने के बाद - स्टॉप टाइम ले लें। अंत में, समय के अंतर को प्रिंट करें। यह आसानी से अजगर के साथ किया जा सकता है:

python -c $'import time;start=time.time();\ntry:\n\twhile True: time.sleep(0.25)\nexcept: print(time.time()-start)'

या पठनीयता के लिए लंबा संस्करण:

import time
start=time.time();
try:
    while True: time.sleep(0.25)
except: 
    print(time.time()-start)

स्टॉपिंग Ctrl + C के साथ किया जाता है


1
while True: pass100% पर CPU चलाता है। मैं while True: time.sleep(1e9)इसके बजाय सुझाव दूंगा ( signal.pause()काम भी करता है लेकिन एक अतिरिक्त आयात की आवश्यकता है)।
2012 आर्केड

@ 2012 चापलूसी अच्छी बात है, कि पहले से ही संपादित।
सर्गी कोलोडियाज़नी

1
यह आमतौर पर सभी अपवादों को पकड़ने के लिए बुरा अभ्यास माना जाता है (हालांकि इस मामले में यह शायद बहुत प्रासंगिक नहीं है), except KeyboardInterruptबेहतर होगा
टोबीस किन्ज़लर

3
@TobiasKienzler मुझे उस बारे में पता है। यदि यह एक बड़ी परियोजना है, तो मैं कई अपवादों को पकड़ने के लिए विभाजित सामान करता हूं। मेरे अन्य कोड, संकेतक और ऐसे देखने के लिए स्वतंत्र महसूस करें। लेकिन इस मामले में सिर्फ एक है, इसलिए यह बिल्कुल प्रासंगिक नहीं है। साथ ही, यह एक त्वरित और गंदा तरीका है। क्यों नाइट गोल्फ यह थोड़ा?
सर्गी Kolodyazhnyy

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