PID Namespace
मौलिक जानकारी
PID (प्रक्रिया आईडेंटिफायर) नेमस्पेस एक विशेषता है जो लिनक्स कर्नेल में प्रक्रिया विलयन प्रदान करती है जिससे एक समूह की प्रक्रियाएं अन्य नेमस्पेस में के प्रक्रियाओं से अलग एक अपने विशिष्ट पीआईडी सेट रख सकती हैं। यह विशेष रूप से कंटेनरीकरण में उपयोगी है, जहां प्रक्रिया विलयन सुरक्षा और संसाधन प्रबंधन के लिए आवश्यक है।
जब एक नया PID नेमस्पेस बनाया जाता है, तो उस नेमस्पेस में पहली प्रक्रिया को पीआईडी 1 के रूप में सौंपा जाता है। यह प्रक्रिया नए नेमस्पेस का "इनिट" प्रक्रिया बन जाती है और नए नेमस्पेस के अंदर अन्य प्रक्रियाओं का प्रबंधन करने के लिए जिम्मेदार होती है। नेमस्पेस के अंदर बनाई गई प्रत्येक उस्तरा प्रक्रिया उस नेमस्पेस के अंदर एक विशिष्ट पीआईडी रखेगी, और ये पीआईडी अन्य नेमस्पेस में के पीआईडी से अलग होंगे।
एक PID नेमस्पेस के अंदर की दृष्टि से, वह केवल उस नेमस्पेस में अन्य प्रक्रियाएं देख सकती है। यह अन्य नेमस्पेस में प्रक्रियाओं को जानकार नहीं है, और वे पारंपरिक प्रक्रिया प्रबंधन उपकरणों (जैसे kill
, wait
, आदि) का उपयोग करके उनके साथ संवाद करने में सक्षम नहीं है। यह एक स्तर की अलगाव प्रदान करता है जो एक दूसरे में हस्तक्षेप करने से प्रक्रियाओं को रोकने में मदद करता है।
कैसे काम करता है:
जब एक नई प्रक्रिया बनाई जाती है (जैसे
clone()
सिस्टम कॉल का उपयोग करके), तो प्रक्रिया को एक नए या मौजूदा PID नेमस्पेस में सौंपा जा सकता है। यदि एक नया नेमस्पेस बनाया जाता है, तो प्रक्रिया उस नेमस्पेस का "इनिट" प्रक्रिया बन जाती है।कर्नेल एक मैपिंग बनाए रखता है नए नेमस्पेस में के पीआईडी और मूल नेमस्पेस में के संबंधित पीआईडी के बीच। यह मैपिंग कर्नेल को जरूरत पड़ने पर पीआईडी का अनुवाद करने में मदद करता है, जैसे कि जब प्रक्रियाओं के बीच सिग्नल भेजा जाता है जो विभिन्न नेमस्पेस में होते हैं।
PID नेमस्पेस के अंदर की प्रक्रियाएं केवल उस नेमस्पेस में की अन्य प्रक्रियाओं को देख सकती हैं और उनके साथ संवाद कर सकती हैं। वे अन्य नेमस्पेस में प्रक्रियाओं को जानकर नहीं हैं, और उनके पीआईडी उनके नेमस्पेस के अंदर अद्वितीय हैं।
जब एक PID नेमस्पेस नष्ट होता है (जैसे कि नेमस्पेस का "इनिट" प्रक्रिया बाहर निकल जाती है), तो उस नेमस्पेस के अंदर सभी प्रक्रियाएं समाप्त हो जाती हैं। यह सुनिश्चित करता है कि नेमस्पेस के साथ संबंधित सभी संसाधनों को ठीक से साफ किया जाता है।
लैब:
विभिन्न नेमस्पेस बनाएं
CLI
नए इंस्टेंस को माउंट करके /proc
फ़ाइल सिस्टम का उपयोग करके, आप सुनिश्चित करते हैं कि नया माउंट नेमस्पेस के पास उस नेमस्पेस के लिए विशिष्ट प्रक्रिया सूचना का सटीक और अलग दृश्य हो।
डॉकर
जांचें कि आपकी प्रक्रिया किस नेमस्पेस में है
सभी PID नेमस्पेस खोजें
ध्यान दें कि मूल (डिफ़ॉल्ट) PID नेमस्पेस से रूट उपयोगकर्ता सभी प्रक्रियाएँ देख सकता है, यहाँ तक कि नए PID नेमस्पेस में भी, इसलिए हम सभी PID नेमस्पेस देख सकते हैं.
एक PID नेमस्पेस के अंदर जाएं
जब आप डिफ़ॉल्ट नेमस्पेस से PID नेमस्पेस के अंदर जाते हैं, तो आपको फिर भी सभी प्रक्रियाएँ दिखाई देंगी। और उस PID एनएस से प्रक्रिया नए PID एनएस पर नया बैश देख पाएगी।
इसके अलावा, आप केवल रूट होने पर दूसरे प्रक्रिया PID नेमस्पेस में प्रवेश कर सकते हैं। और आप उस नेमस्पेस में प्रवेश नहीं कर सकते जिसके लिए एक डिस्क्रिप्टर पॉइंट कर रहा हो (जैसे /proc/self/ns/pid
)
संदर्भ
Last updated