एम्परसेंड (&) प्रतीक का मतलब `नोहुप 'से क्या है?


11

Ive ने कई उदाहरण देखे जहां एक &कमांड स्ट्रिंग के अंत का अनुसरण होता है, लेकिन मुझे लगता है कि यह क्या करता है पर स्पष्टीकरण नहीं मिल सकता है। यह भी नहीं है nohupकी manपेज। क्या यह कोई शेल चीज है?

या तो उपयोग &कर रहा है या नहीं, मुझे लगता है कि किसी भी प्रक्रिया के साथ भागा nohupकिसी भी हैंगअप सिग्नल के लिए प्रतिरक्षा प्रदर्शित करता है।


1
"मुझे लगता है कि कोई भी प्रक्रिया nohup के साथ चलती है, किसी भी hangup सिग्नल में प्रतिरक्षा प्रदर्शित करती है।" यही नोह है।
सैमुअल एडविन वार्ड

ठीक है, तो मुझे स्पष्ट करें: मैंने जो एकमात्र उदाहरण देखे हैं वह उपयोग करता है &, इसलिए मुझे यकीन नहीं था कि अगर &किसी प्रकार का संशोधन या तर्क था जो nohupकिसी भी अलग तरह से व्यवहार करता है।
चाड हैरिसन

1
यह संदेह करने के लिए एक उचित बात है। वास्तव में यह व्यवहार nohup को संशोधित नहीं करता है (nohup इसे देखने के लिए भी नहीं मिलता है) लेकिन शेल के व्यवहार को संशोधित करता है।
सैमुअल एडविन वार्ड

Nohup & -> कोई Hangup नहीं है और इसे पृष्ठभूमि दें। मॉडेम और धारावाहिक टर्मिनलों के अच्छे पुराने दिनों से। जब मेरा टर्मिनल और मॉडेम ऑफ़लाइन हो जाता है, तो इसे पृष्ठभूमि में संसाधित करते रहें ताकि जब मैं अगली बार ऑनलाइन जाऊं तो काम पूरा हो जाए।
फियास्को लैब्स

जवाबों:


19

से बैश मैनपेज :

यदि नियंत्रण ऑपरेटर द्वारा एक कमांड को समाप्त किया जाता है और, शेल एक उपधारा में पृष्ठभूमि में कमांड को निष्पादित करता है। शेल कमांड के समाप्त होने की प्रतीक्षा नहीं करता है, और रिटर्न स्थिति 0 है।

तो हाँ, यह एक शेल की बात है, और इसका उपयोग किसी भी कमांड के साथ किया जा सकता है। यह अनिवार्य रूप से आपको तुरंत नियंत्रण लौटाता है और पृष्ठभूमि में कमांड को पूरा करने की अनुमति देता है। यह लगभग हमेशा उपयोग किया जाता है nohupक्योंकि आप आमतौर पर कमांड शुरू करने के बाद शेल से बाहर निकलना चाहते हैं।


4
मैंने देखा है कि आप हाल ही में अच्छे उत्तरों का एक गुच्छा पोस्ट करते हैं और मेरा मस्तिष्क हमेशा आपके उपयोगकर्ता नाम को मैकगूवर में अनुवाद करता है। निश्चित नहीं कि मुझे आपको यह बताने की आवश्यकता क्यों महसूस हो रही है।
एमडीएमरा

1
@ ममदर्रा मैं इसे एक तारीफ के रूप में
लूंगा

1
@MDMarra कम से कम आपको नहीं लगता कि: "McGruber"
वार्ड - को पुनः स्थापित मोनिका

7

एम्परसेंड (&) का उपयोग एक चाइल्ड प्रोसेस (वर्तमान बैश सत्र के लिए बच्चा) में कमांड चलाएगा। हालांकि, जब आप सत्र से बाहर निकलते हैं, तो सभी बाल प्रक्रियाओं को मार दिया जाएगा।

nohup + ampersand (&) का उपयोग करना एक ही काम करेगा, सिवाय इसके कि जब सत्र समाप्त हो जाता है, तो बच्चे की प्रक्रिया के माता-पिता को "1" में बदल दिया जाएगा, जो कि "init" प्रक्रिया है, इस प्रकार बच्चे को मारे जाने से बचाती है।


3

हां, यह एक शेल की बात है - यह बैकग्राउंड में कमांड चलाता है ताकि आपको अधिक कमांड जारी करने से पहले वर्तमान कमांड के लौटने का इंतजार न करना पड़े।

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