'इंटरैक्ट के साथ' कुछ चीजों का मतलब हो सकता है।
कारण है कि एक प्रोग्राम, कमांड लाइन पर शुरू हुआ, टर्मिनल समाप्त होने पर निकलता है, क्योंकि शेल, जब यह निकलता है, तो उस प्रक्रिया को एक एचयूपी सिग्नल भेजता है (कुछ परिचय के लिए kill(1)
के लिए प्रलेखन देखें; एचयूपी, द्वारा वैसे, 'लटका' के लिए छोटा है, और मूल रूप से संकेत दिया कि उपयोगकर्ता ने मॉडेम/टेलीफोन लटका दिया था)। एक एचयूपी सिग्नल के लिए डिफ़ॉल्ट प्रतिक्रिया यह है कि एक प्रक्रिया समाप्त हो जाती है - यानी, आवंटित कार्यक्रम निकलता है।
विवरण थोड़ा अधिक स्पष्ट रूप से हैं, लेकिन यह सामान्य अंतर्ज्ञान है।
nohup
कमांड प्रोग्राम शुरू करने के लिए खोल को बताता है, और ऐसा करने के लिए इस एचयूपी सिग्नल को अनदेखा किया गया है। यही है, कार्यक्रम चलने वाले टर्मिनल से बाहर निकलने के बाद चल रहा है।
तुम अब भी यह संकेत भेज कर इस कार्यक्रम के साथ बातचीत कर सकते हैं (kill(1)
फिर से देख), लेकिन इस बातचीत का एक बहुत ही सीमित तरह है, और अपने कार्यक्रम पर निर्भर करता है समझदार काम करने के लिए लिखा जा रहा है, जब यह उन संकेतों (संकेतों USR1
प्राप्त करता है और USR2
जाल के लिए उपयोगी चीजें हैं, अगर आप उस तरह की चीज में हैं)। वैकल्पिक रूप से, आप नामित पाइप, या सेमफोर, या इंटर-प्रोसेस संचार (आईपीसी) के अन्य बिट्स के माध्यम से बातचीत कर सकते हैं। यह बहुत जल्दी जल्दी हो जाता है।
मुझे संदेह है कि आप क्या कर रहे हैं, हालांकि, प्रक्रिया के लिए टर्मिनल को दोबारा जोड़ने में सक्षम है। यह एक और अधिक जटिल प्रक्रिया है, और screen
जैसे अनुप्रयोग ऐसा करने के लिए दृश्यों के पीछे उचित जटिल चीजें करते हैं।
nohup
चीज एक प्रकार का त्वरित और गंदा डिमनिसेशन है। daemon(3)
फ़ंक्शन डेमोनिसेशन 'ठीक से' करता है, जो यूपीएचआईसीके के उत्तर में वर्णित अनुसार साफ-सफाई के विभिन्न बिट्स कर रहा है, जो इसे लागू करने वाली प्रक्रिया/टर्मिनल के साथ लिंक को व्यापक रूप से तोड़ने के लिए करता है। आप उपरोक्त के समान आईपीसी उपकरण के साथ उस डिमनीकृत प्रक्रिया के साथ बातचीत कर सकते हैं, लेकिन टर्मिनल के साथ सीधे नहीं।
आप पहले अपना प्रयास क्यों नहीं करते? पृष्ठभूमि में एक प्रक्रिया शुरू करें, लॉग आउट करें और फिर से 'ps' के साथ जांचें कि क्या प्रक्रिया अभी भी – patrix
के आसपास है, यह मुझे एक दिलचस्प और उपयोगी प्रश्न के रूप में चलाती है। मुझे संदेह है कि टर्मिनल के माध्यम से शुरू की जाने वाली प्रक्रियाओं को मार दिया जाएगा जब टर्मिनल मारे जाएंगे। ईमानदारी से, यह मेरे लिए एक कांटा की तरह लगता है, हालांकि मुझे नहीं पता, मुझे कभी कांटा का आह्वान करने की आवश्यकता नहीं है। – Dale
यदि आप [nohup] (http://en.wikipedia.org/wiki/Nohup) कमांड का उपयोग नहीं करते हैं, तब तक जब आप लॉगआउट या अन्यथा अपना सत्र खो देते हैं तो प्रक्रिया मारे जाती है :) लेकिन यह सुनिश्चित नहीं है कि आप प्रक्रिया को वापस प्राप्त कर सकते हैं या नहीं एक नया सत्र –