लिनक्स में लगभग हर प्रक्रिया में एक नियंत्रण टर्मिनल होता है। लेकिन एक नियंत्रित टर्मिनल भी क्या है? चलो पता करते हैं।

आपने लिनक्स प्रक्रियाओं के संबंध में प्रयुक्त "नियंत्रण टर्मिनल" शब्द सुना होगा। आप इस बात को लेकर भ्रमित हो सकते हैं कि नियंत्रण टर्मिनल क्या है। सौभाग्य से, एक नियंत्रित टर्मिनल को समझना आसान है।

नियंत्रण टर्मिनल क्या है?

कंट्रोलिंग टर्मिनल वह टर्मिनल है जहां लिनक्स प्रक्रिया शुरू होती है। उदाहरण के लिए, यदि आप शेल से कमांड चलाते हैं, तो जिस टर्मिनल विंडो में आपने कमांड दर्ज किया है वह कंट्रोलिंग टर्मिनल है।

नियंत्रण टर्मिनलों के साथ शुरू की गई प्रक्रियाएं मूल टर्मिनल की विशेषताओं को प्राप्त करती हैं। यह लिनक्स में प्रक्रियाओं को लॉन्च करने के तरीके के कारण है। जब आप कोई कमांड चलाते हैं, तो शेल स्वयं की एक प्रतिलिपि बनाता है, या "फोर्क्स" बनाता है, फिर स्वयं को उस प्रोग्राम से बदल देता है जिसे आप चलाना चाहते थे, या "निष्पादित" करता है।

कैसे देखें कि किन प्रक्रियाओं में एक नियंत्रण टर्मिनल है

उन प्रक्रियाओं को देखना आसान है जिनमें Linux में एक नियंत्रित टर्मिनल होता है। आप उपयोग कर सकते हैं पीएस कमांड उन्हें देखने के लिए।

instagram viewer

आप इसका उपयोग करके सिस्टम पर सभी उपयोगकर्ताओं से संबंधित सभी प्रक्रियाओं को देख सकते हैं, चाहे उनके पास नियंत्रण टर्मिनल हों या नहीं "औक्स" तर्क:

पुनश्च औक्स

क्योंकि यह लिनक्स सिस्टम पर बहुत अधिक आउटपुट उत्पन्न करता है, इसे पेजर में पाइप करना सहायक हो सकता है, जैसे कि कम:

पीएस औक्स | कम

आप हेड यूटिलिटी का उपयोग करके पहली कुछ पंक्तियाँ भी देख सकते हैं:

पीएस औक्स | सिर

आउटपुट में, आपको "TTY" लेबल वाला एक कॉलम दिखाई देगा। यह किसी प्रक्रिया के नियंत्रण टर्मिनल को इंगित करता है, यदि कोई है। नियंत्रण टर्मिनल वाली एक प्रक्रिया "ttyx" प्रदर्शित करेगी जहां "x" टर्मिनल नंबर या "pts" है, उसके बाद एक स्लैश (/) और छद्मटर्मिनल लाइन नंबर होगा।

चूँकि अधिकांश टर्मिनल वास्तव में टर्मिनल एमुलेटर हैं, वे स्यूडोटर्मिनल या पीटीवाई का उपयोग करते हैं। "पीटीएस" भौतिक टर्मिनल या के बजाय एक टर्मिनल एमुलेटर को इंगित करता है आभासी कंसोल.

टर्मिनलों को नियंत्रित किये बिना प्रक्रियाएँ

अधिकांश लिनक्स सिस्टम पर, TTY कॉलम प्रदर्शित होगा प्रश्न चिह्न (?) कई प्रक्रियाओं में चरित्र। ऐसा इसलिए है क्योंकि प्रक्रिया में कोई नियंत्रण टर्मिनल नहीं है। ऐसा क्यूँ होता है?

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

यदि आप डेस्कटॉप वातावरण के मेनू से एक ग्राफिकल ऐप लॉन्च करते हैं, तो उसमें कोई नियंत्रण टर्मिनल भी नहीं होगा।

GNU स्क्रीन या tmux जैसे टर्मिनल मल्टीप्लेक्सर्स आपको एक प्रक्रिया को अलग करने की अनुमति देते हैं। यदि आप लॉग आउट करते हैं लेकिन अपने सिस्टम को चालू रखते हैं, तो आप पाएंगे कि उस प्रक्रिया में नियंत्रण टर्मिनल का भी अभाव है।

यदि आपके पास नियंत्रण टर्मिनल के बिना कोई प्रक्रिया है जिससे आप छुटकारा पाना चाहते हैं, आप किल उपयोगिता का उपयोग कर सकते हैं.

अब आप नियंत्रण टर्मिनलों के बारे में जानते हैं

कंट्रोलिंग टर्मिनल वह टर्मिनल है जिससे आपने कमांड लॉन्च किया है। यह देखना आसान है कि कौन सी प्रक्रियाएं पीएस कमांड के साथ नियंत्रण टर्मिनल रखती हैं और कौन सी नहीं। और कई लिनक्स प्रोग्राम ऐसा नहीं करते हैं, या तो क्योंकि वे डेमॉन हैं या हो सकता है कि आपने उन्हें टर्मिनल मल्टीप्लेक्सर से अलग कर दिया हो।

Tmux जैसे मल्टीप्लेक्सर्स न केवल स्थानीय टर्मिनल सत्रों को लॉगिन पर बनाए रखते हैं, बल्कि वे दूरस्थ SSH कनेक्शन के लिए भी शक्तिशाली उपकरण हैं।