ज़ोंबी प्रक्रिया। लिनक्स ऑपरेटिंग सिस्टम से संबंधित इस दिलचस्प अभी तक डरावने शब्द के बारे में सभी ने नहीं सुना है। व्यक्तिगत कंप्यूटर पर, ज़ोंबी प्रक्रियाओं को एक नियमित उपयोगकर्ता के लिए खतरा नहीं हो सकता है, लेकिन जब लिनक्स सर्वर की बात आती है, तो इन प्रक्रियाओं को पहचाना और रोका जाना चाहिए।

ऐसी प्रक्रियाएँ आपके सिस्टम की प्रक्रिया तालिका के साथ समस्याएँ पैदा कर सकती हैं और बदले में, आपकी मशीन के उचित कामकाज के साथ छेड़छाड़ करती हैं। इसलिए, इस लेख में, हम एक लिनक्स मशीन पर ज़ोंबी प्रक्रियाओं को खोजने और मारने पर एक व्यापक गाइड के साथ, ज़ोंबी प्रक्रियाओं पर विस्तार से चर्चा करेंगे।

ज़ोंबी प्रक्रियाएं क्या हैं?

लेकिन इससे पहले, यह महत्वपूर्ण है कि आप जानते हैं कि वास्तव में ज़ोंबी प्रक्रियाएं क्या हैं। ये कुछ और नहीं बल्कि मृत और अशुद्ध प्रक्रियाएं हैं जो सिस्टम प्रोसेस टेबल पर जगह घेरती हैं। ए प्रक्रिया नियंत्रण ब्लॉक या पीसीबी एक डेटा संरचना है जो आपके सिस्टम पर चल रही व्यक्तिगत प्रक्रियाओं से जुड़े विवरण संग्रहीत करता है।

प्रोसेस टेबल में प्रोसेस आईडी, पीसीबी का लिंक और प्रोसेस से जुड़ी अन्य उपयोगी जानकारियां होती हैं। ज़ोंबी प्रक्रियाओं की अपनी प्रक्रिया आईडी और स्मृति प्रबंधन जानकारी होती है। चूंकि Linux OS के पास सीमित संख्या में प्रोसेस आईडी उपलब्ध है, अन्य प्रक्रिया PID का उपयोग नहीं कर सकती जब तक कि ज़ोंबी प्रक्रिया बंद न हो जाए।

instagram viewer

हालाँकि एक या दो ज़ोंबी प्रक्रियाओं के कारण आपके कंप्यूटर पर कोई व्यवधान या प्रदर्शन समस्या नहीं होगी, a बड़ी संख्या में ऐसी प्रक्रियाएं प्रक्रिया तालिका और बाढ़ से आपके सिस्टम के वर्कफ़्लो को नुकसान पहुंचा सकती हैं संसाधन।

लिनक्स पर ज़ोंबी प्रक्रियाओं का क्या कारण है?

एक ज़ोंबी प्रक्रिया के अंतर्निहित कारण को विस्तार से समझने के लिए, आपको सीखना होगा कि लिनक्स में प्रक्रियाएं कैसे शुरू और बंद होती हैं। लिनक्स ऑपरेटिंग सिस्टम कंप्यूटर पर चलने वाली सभी प्रक्रियाओं और डेमॉन पर नज़र रखता है। प्रक्रिया तालिका संरचनाओं की एक सूची है जिसमें सभी प्रक्रियाएं शामिल हैं जो वर्तमान में आपकी मशीन पर चल रही हैं।

प्रक्रिया तालिका में प्रत्येक प्रक्रिया प्रविष्टि में एक लिंक होता है प्रक्रिया नियंत्रण ब्लॉक उस विशिष्ट प्रक्रिया की। पीसीबी उस विशेष प्रक्रिया से जुड़े विवरणों को संग्रहीत करता है। इन विवरणों में शामिल हैं:

  1. प्रक्रिया की अवस्था: प्रक्रिया की वर्तमान स्थिति
  2. प्रक्रिया संख्या: प्रक्रिया की पहचान करने के लिए इस्तेमाल किया गया एक अनूठा नंबर
  3. कार्यक्रम गणक: अगले निर्देश से संबंधित जानकारी शामिल है
  4. रजिस्टर: प्रक्रिया द्वारा उपयोग किए जाने वाले सभी सीपीयू रजिस्टरों की सूची
  5. फ़ाइल सूची खोलें: प्रक्रिया द्वारा उपयोग की जाने वाली फाइलें
  6. CPU शेड्यूलिंग जानकारी: सीपीयू समय और प्रक्रिया को आवंटित संसाधनों से संबंधित जानकारी शामिल है
  7. मेमोरी प्रबंधन की जानकारी: प्रक्रिया द्वारा उपयोग की जाने वाली स्मृति की मात्रा पर विवरण शामिल है
  8. मैं / ओ जानकारी: प्रक्रिया द्वारा उपयोग किए गए इनपुट या आउटपुट डिवाइस की सूची

लिनक्स अपनी सभी प्रक्रियाओं का वर्णन करने के लिए निम्नलिखित प्रक्रिया राज्यों का उपयोग करता है।

  • आर: चल रही प्रक्रिया
  • रों: नींद की प्रक्रिया
  • : निर्बाध नींद की प्रक्रिया
  • टी: समाप्त प्रक्रिया
  • जेड: ज़ोंबी प्रक्रिया

जब भी कोई प्रक्रिया असाइन किए गए कार्य को पूरा करती है, तो इसकी प्रक्रिया स्थिति के रूप में सेट की जाती है ज़ोंबी या जेड. प्रत्येक प्रक्रिया में एक पेरेंट प्रक्रिया होती है, जिसे नामित कार्यों के एक परिवार कहते हैं रुको() एक प्रक्रिया के राज्य परिवर्तन की प्रतीक्षा करता है। उदाहरण के लिए, यदि प्रक्रिया स्थिति से बदलती है दौड़ना सेवा मेरे ज़ोंबी, को रुको() विधि शुरू हो जाएगी।

रुको() विधि आमतौर पर उस ज़ोंबी प्रक्रिया से संबंधित प्रक्रिया नियंत्रण ब्लॉक को हटा देती है और फिर प्रक्रिया तालिका से उस प्रक्रिया के प्रवेश को हटा देती है।

लेकिन कभी-कभी, एक कार्यक्रम के खराब विकास के कारण, मूल प्रक्रिया को कॉल नहीं किया जाता है रुको() समारोह। और परिणामस्वरूप, सिस्टम ज़ोंबी प्रक्रिया के पीसीबी को नहीं हटाता है। उस विशिष्ट प्रक्रिया के लिए प्रक्रिया तालिका प्रविष्टि बरकरार है।

यह ज़ोंबी प्रक्रिया को एक अनंत जीवन प्रदान करता है। चूंकि सिस्टम प्रक्रिया को मार नहीं सकता है, इसलिए प्रक्रिया प्रविष्टि को कभी भी हटाया नहीं जाता है, और पीआईडी ​​कभी मुक्त नहीं होता है।

और अधिक जानें: लिनक्स में अनुत्तरदायी कार्यक्रमों को मारने के तरीके

कैसे ज़ोंबी प्रक्रियाओं को खोजने के लिए?

आपके सिस्टम पर ज़ोंबी प्रक्रियाओं को हटाने का पहला कदम यह विश्लेषण कर रहा है कि कौन सी प्रक्रिया है ज़ोंबी प्रक्रिया राज्य। हालांकि आप इन प्रक्रियाओं को सीधे मारने में सक्षम नहीं होंगे क्योंकि सिस्टम ने पहले ही उन्हें मेमोरी से हटा दिया है, आप उनसे जुड़ी मूल प्रक्रिया को मार सकते हैं।

पहले, आपको यह जांचने की आवश्यकता है कि आपके सिस्टम की प्रक्रिया तालिका में ज़ोंबी प्रक्रिया है या नहीं। आप आसानी से उपयोग कर सकते हैं ऊपर आज्ञा। बस अपना टर्मिनल खोलें और टाइप करें:

ऊपर

आपको इसके समान आउटपुट दिखाई देगा। टर्मिनल विंडो के शीर्ष पर ज़ोंबी प्रक्रियाओं की गिनती पर ध्यान दें। यदि आउटपुट शून्य है, तो आपको चिंता करने की कोई बात नहीं है।

आप पाइपिंग द्वारा इन ज़ोंबी प्रक्रियाओं से संबंधित जानकारी सूचीबद्ध कर सकते हैं पीएस कमांड साथ से उदा. Egrep लिनक्स में grep कमांड का एक विस्तार है जो सभी पैटर्न को एक विस्तारित रेगेक्स स्ट्रिंग के रूप में मानता है।

सम्बंधित: पायथन के साथ रेगुलर एक्सप्रेशंस टू द बिगिनर गाइड

सभी ज़ोंबी प्रक्रियाओं को सूचीबद्ध करने के लिए निम्नलिखित कमांड टाइप करें:

ps aux | egrep "Z | defunct"

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

मार ज़ोंबी प्रक्रियाओं का उपयोग कर मार कमान

अब जब आप जानते हैं कि वर्तमान में आपके सिस्टम संसाधनों को कौन सी ज़ोंबी प्रक्रियाएं खा रही हैं, तो इन प्रक्रियाओं को मारने का समय है।

जबकि ज़ोंबी प्रक्रियाओं को मारने का सबसे आसान तरीका आपके कंप्यूटर को पुनरारंभ करना है, कभी-कभी यह एक संभव विकल्प नहीं है, खासकर यदि आप एक सर्वर का प्रबंधन कर रहे हैं।

अपने सर्वर को बंद किए बिना ज़ोंबी प्रक्रियाओं को मारने के लिए, किसी भी ज़ोंबी प्रक्रिया की प्रक्रिया आईडी को नोट करें। पिछले अनुभाग से, हम देख सकते हैं कि ज़ोंबी प्रक्रिया का पीआईडी ​​18614 था। फिर, मूल प्रक्रिया की आईडी खोजने के लिए इस PID का उपयोग करें।

ps -o ppid = -p 18614

आउटपुट:

18613

सत्यापित करें कि क्या मूल प्रक्रिया ID का उपयोग करके मौजूद है पी.एस. आज्ञा।

ps -e | grep 18613

अब जब हमने मूल प्रक्रिया के अस्तित्व की पुष्टि कर ली है, तो इसे मारने का समय आ गया है। इधर दें -SIGKILL के साथ झंडा मार आदेश इस प्रकार है:

सूदो हत्या -SIGKILL 18613

एक बार जब आप मूल प्रक्रिया को मार देते हैं, तो सिस्टम ज़ोंबी प्रक्रिया को हटा देगा और इसे स्वचालित रूप से प्रक्रिया तालिका से हटा देगा।

लिनक्स पर कुशलता से प्रबंध प्रक्रियाएँ

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

यदि आप एक शुरुआती लिनक्स उपयोगकर्ता हैं और आपको पता नहीं है कि लिनक्स ऑपरेटिंग सिस्टम प्रक्रियाओं का प्रबंधन कैसे करता है, तो सीखने की प्रक्रिया पहले शुरू करने के लिए एक अच्छी जगह है।

ईमेल
लिनक्स में एक प्रक्रिया क्या है?

लिनक्स के साथ पकड़ पाने के लिए प्रक्रिया और नौकरियों को समझना एक महत्वपूर्ण पहलू है। यहां आपको जानना आवश्यक है।

आगे पढ़िए

संबंधित विषय
  • लिनक्स
  • लिनक्स
  • प्रसंस्करण
लेखक के बारे में
दीपेश शर्मा (45 लेख प्रकाशित)

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

दीपेश शर्मा से अधिक

हमारे न्यूज़लेटर की सदस्यता

टेक टिप्स, समीक्षा, मुफ्त ईबुक और विशेष सौदों के लिए हमारे न्यूज़लेटर में शामिल हों!

एक और क़दम…!

कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।

.