नोहुप क्या है और आप इसका उपयोग कैसे करते हैं?
लिनक्स सिस्टम पर बहुत सारे आदेश उपलब्ध हैं। कुछ ऐसे हैं जो आप दिन में कई बार उपयोग करेंगे, और अन्य आम तौर पर विशेष उपयोग मामलों के लिए आरक्षित होते हैं। नोहुप एक ऐसा आदेश है। आप इसे हर दिन इस्तेमाल नहीं करेंगे, लेकिन जब आप इसकी आवश्यकता हो तो आप आभारी होंगे।
नोहुप क्या है?
नोहुप "नहीं हैंगअप" के लिए छोटा है। यह एक ऐसा आदेश नहीं है जिसे आप स्वयं ही चलाते हैं। नोहुप एक पूरक कमांड है जो लिनक्स सिस्टम को एक बार शुरू होने के बाद किसी अन्य कमांड को रोकने के लिए नहीं कहता है। इसका मतलब यह है कि यह तब तक चल रहा है जब तक कि यह पूरा नहीं हो जाता है, भले ही उपयोगकर्ता ने इसे लॉग आउट किया हो। नोहप के लिए वाक्यविन्यास सरल है और ऐसा कुछ दिखता है:
nohup sh your-script.sh &
आदेश के अंत में "&" पर ध्यान दें। यह आपके द्वारा काम कर रहे टर्मिनल को मुक्त करने, पृष्ठभूमि को कमांड को ले जाता है।
नोहप टर्मिनल में चलाने वाले किसी भी कमांड के साथ काम करता है। इसे कस्टम स्क्रिप्ट के साथ-साथ मानक सिस्टम कमांड और कमांड लाइन यूटिलिटीज के साथ भी चलाया जा सकता है।
Nohup.out
चूंकि नोहुप उस उपयोगकर्ता के स्वतंत्र रूप से चल रहा है जिसने इसे शुरू किया है, कमांड को किसी भी संदेश या त्रुटियों को आउटपुट करने के लिए कहीं और चाहिए। चूंकि इसके साथ संबद्ध करने के लिए कोई टर्मिनल नहीं है, इसलिए कोई भी आउटपुट फ़ाइल, nohup.out में सब कुछ लॉग करता है।
डिफ़ॉल्ट रूप से, वह फ़ाइल उस निर्देशिका में स्थित होती है जिसमें आपने कमांड शुरू किया था। Nohup.out कुछ हद तक अद्वितीय है क्योंकि इसमें मानक आउटपुट और त्रुटि आउटपुट दोनों शामिल हैं। नोहप डिफ़ॉल्ट रूप से दोनों को एक ही फ़ाइल में रीडायरेक्ट करता है।
हालांकि, आपको nohup.out का उपयोग करने की आवश्यकता नहीं है, हालांकि। यह सिर्फ डिफ़ॉल्ट है। जब आप नोहप चलाते हैं और उसे कस्टम स्थान पर रखते हैं तो आप एक कस्टम आउटपुट निर्दिष्ट कर सकते हैं।
nohup sh your-script.sh> /path/to/custom.out &
कस्टम आउटपुट में बिल्कुल वही डेटा होता है जैसे मानक nohup.out फ़ाइल होगी।
डेमन्स के साथ मतभेद
इस बिंदु से, आप शायद सोच रहे हैं कि एक डिमोनाइज्ड प्रक्रिया के अलावा नोहप सेट करता है। आखिरकार, वे दोनों अपेक्षाकृत एक ही उद्देश्य की सेवा करते हैं लेकिन वास्तव में नहीं करते हैं। पृष्ठभूमि में लगातार डेमन्स चलते हैं। वे उन प्रक्रियाओं के लिए सबसे सुरक्षित हैं जिन्हें आप कभी भी सर्वर से बाहर नहीं निकलना चाहते हैं। उन्हें कार्यक्रम के लिए और भी काम की आवश्यकता होती है, इसलिए वे सरल एक-ऑफ स्क्रिप्ट के लिए सर्वश्रेष्ठ नहीं हैं।
नोहुप एक ही प्रयोग के लिए है। एक ऐसी स्क्रिप्ट के बारे में सोचें जो दौड़ने में लंबा समय लगेगा लेकिन आखिरकार खत्म हो जाएगा। शायद एक लंबा और जटिल कार्य है जिसे आप हर समय चलाते हैं और फिर पूरा होने में घंटों लगते हैं। आप टर्मिनल ओपन या उपयोगकर्ता को लॉग इन नहीं करना चाहते हैं, इसलिए आप इसे पृष्ठभूमि में चलाने के लिए नोहप का उपयोग करते हैं। एक अतिरिक्त बोनस के रूप में, यह स्वचालित रूप से आपके लिए सब कुछ लॉग कर देगा।
आप देख सकते हैं कि नोहप एक दैनिक उपकरण नहीं है, लेकिन यह सही कार्य के लिए बहुत उपयोगी हो सकता है। यह एक सामान्य शॉर्ट स्क्रिप्ट और निरंतर चल रहे डिमन के बीच कहीं गिरता है। यह आपको लंबी स्क्रिप्ट्स के लिए एक हाथ से दूर दृष्टिकोण लेने में मदद करता है, जिसे आप नियमित रूप से बर्बाद कर सकते हैं।