क्या जानना है
- sleep कमांड का उपयोग समय के साथ करें; s=सेकंड, m=मिनट, h=घंटे, या d=दिन (उदाहरण के लिए, sleep 5s स्क्रिप्ट को 5 सेकंड के लिए रोकता है)।
- अधिक के लिए man sleep का उपयोग करें।
यह लेख बताता है कि लिनक्स sleep कमांड का उपयोग BASH स्क्रिप्ट को रोकने के लिए कैसे करें, अन्य चीजों के साथ। अपने दम पर, sleep कमांड बहुत उपयोगी नहीं है। हालांकि, स्क्रिप्ट के हिस्से के रूप में, इसका उपयोग कई तरीकों से किया जा सकता है। उदाहरण के लिए, आप इसका उपयोग पहली बार विफल होने वाले कमांड को पुनः प्रयास करने से पहले स्क्रिप्ट को रोकने के लिए कर सकते हैं।
स्लीप कमांड के उपयोग का एक उदाहरण
कल्पना करें कि आपके पास एक स्क्रिप्ट है जो किसी अन्य सर्वर से डाउनलोड की गई फ़ाइलों को प्रोसेस करती है। स्क्रिप्ट को कॉपी प्रक्रिया तब तक शुरू नहीं करनी चाहिए जब तक सभी फ़ाइलें डाउनलोड न हो जाएं। डाउनलोड प्रक्रिया एक अलग स्क्रिप्ट द्वारा की जाती है जो आपके पहले चलती है।
फ़ाइलों को कॉपी करने वाली स्क्रिप्ट में एक लूप हो सकता है जो यह जांचने के लिए है कि क्या सभी फ़ाइलें डाउनलोड हो गई हैं (यह 50 फ़ाइलें मिलने से पहले कॉपी प्रक्रिया शुरू करने से पहले जांच करके करता है)।
स्क्रिप्ट द्वारा लगातार परीक्षण करने का कोई मतलब नहीं है क्योंकि यह प्रोसेसर समय का उपयोग करता है। इसके बजाय, आप प्रत्येक परीक्षण से पहले कुछ मिनट के लिए रुक सकते हैं और फिर से प्रयास कर सकते हैं। ऐसी परिस्थितियों में sleep कमांड एकदम सही है।
स्लीप कमांड का उपयोग कैसे करें
लिनक्स sleep कमांड का उपयोग करने के लिए, टर्मिनल विंडो में निम्न दर्ज करें:
sleep 5s
उपरोक्त कमांड कमांड लाइन पर वापस आने से पहले टर्मिनल को 5 सेकंड के लिए रोक देता है।
sleep कमांड को कीवर्ड sleep की आवश्यकता होती है, उसके बाद वह संख्या जो आप रोकना चाहते हैं और माप की इकाई।
आप सेकंड, मिनट, घंटे, या दिनों में देरी निर्दिष्ट कर सकते हैं।
- s: सेकंड
- m: मिनट
- h: घंटे
- d: दिन
जब स्क्रिप्ट को दिनों के लिए रोकने की बात आती है, तो स्क्रिप्ट को दिनों के लिए बैकग्राउंड में चलाने के बजाय, नियमित अंतराल पर स्क्रिप्ट चलाने के लिए क्रॉन जॉब का उपयोग करें।
एक क्रॉन जॉब एक लिनक्स कमांड या स्क्रिप्ट है जिसे आप एक निर्धारित समय या दिन पर चलाने के लिए शेड्यूल कर सकते हैं। ये लंबे समय तक दोहराए जाने वाले कार्यों के लिए उपयोगी हैं।
sleep कमांड अंतराल के लिए संख्या पूर्ण संख्या होना आवश्यक नहीं है। आप फ्लोटिंग-पॉइंट संख्याओं का भी उपयोग कर सकते हैं।
उदाहरण के लिए, निम्न सिंटैक्स में एक सेकंड का अंश शामिल है:
sleep 3.5s
स्लीप कमांड के उपयोग का एक उदाहरण
निम्न स्क्रिप्ट दिखाती है कि टर्मिनल-आधारित काउंटडाउन घड़ी बनाने के लिए sleep कमांड का उपयोग कैसे करें:
#!/bin/bash x=10 while [ $x -gt 0 ] do sleep 1s clear echo "$x seconds until blast off" x=$(( $x - 1 )) done
यह स्क्रिप्ट कैसे काम करती है:
- स्क्रिप्ट वेरिएबल x को 10 पर सेट करती है।
- while लूप तब तक पुनरावृति करता रहता है जब तक x का मान शून्य से अधिक है।
- sleep कमांड लूप के प्रत्येक चक्कर में स्क्रिप्ट को 1 सेकंड के लिए रोकता है।
- स्क्रिप्ट का बाकी हिस्सा प्रत्येक पुनरावृत्ति में स्क्रीन को साफ करता है, संदेश प्रदर्शित करता है, "x सेकंड ब्लास्ट ऑफ तक," और x के मान से 1 घटाता है।
sleep कमांड के बिना, स्क्रिप्ट तेजी से दौड़ेगी, और संदेश बहुत जल्दी प्रदर्शित होंगे।
स्लीप कमांड स्विच का उपयोग कैसे करें
sleep कमांड में केवल कुछ स्विच हैं।
--help स्विच sleep कमांड के लिए सहायता फ़ाइल दिखाता है। आप man कमांड का उपयोग करके भी यही चीज़ प्राप्त कर सकते हैं:
man sleep
--version स्विच सिस्टम पर इंस्टॉल किए गए sleep कमांड का संस्करण दिखाता है।
--version स्विच द्वारा लौटाई गई जानकारी इस प्रकार है:
- संस्करण संख्या
- कॉपीराइट विवरण
- लाइसेंस
- लेखक
स्लीप के साथ टर्मिनल कमांड रोकें
sleep कमांड का एक और अच्छा उपयोग टर्मिनल विंडो में आपके द्वारा टाइप किए गए कमांड को रोकना है।
यदि आप चाहें, तो आप एक के बाद एक दो कमांड टाइप कर सकते हैं, पहले के खत्म होने की प्रतीक्षा करने के बाद दूसरा टाइप करने के लिए।
हालांकि, एक तेज़ दृष्टिकोण एक लाइन पर दो कमांड टाइप करना है, प्रत्येक कमांड के बीच sleep कमांड के साथ:
$ cd /mydirectory/ && sleep 3 && ls
यह कमांड कैसे काम करता है:
- cd /mydirectory/ कमांड डायरेक्टरी बदलता है।
- sleep 3 कमांड cd कमांड के खत्म होने के लिए तीन सेकंड प्रतीक्षा करता है।
- ls कमांड निष्पादित होता है और डायरेक्टरी सामग्री प्रदर्शित करता है।
इस तरह के सरल उदाहरण के लिए, sleep कमांड केवल थोड़ा समय बचाता है। हालांकि, यदि आपके पास कमांड की एक लंबी सूची है, तो एक लाइन पर कमांड टाइप करने की क्षमता समय बचाती है।