"1 ज़ोंबी प्रक्रिया है"


33

यह संदेश तब दिखाई देता है जब मैं अपनी मशीन पर लॉगिन करता हूं ...

There is 1 zombie process.
  • यह मुझे क्या बता रहा है?
  • क्या यह मेरी चिंता है?
  • यदि हाँ, तो मुझे क्या करना चाहिए, और कैसे?

19
क्या आपके पास पास में डबल बैरल बन्दूक है?
ईईएए

जवाबों:


28

चिंता की कोई बात नहीं :

ज़ोंबी

यूनिक्स ऑपरेटिंग सिस्टम पर, एक ज़ोंबी प्रक्रिया या डिफंक्ट प्रक्रिया एक ऐसी प्रक्रिया है, जिसने निष्पादन को पूरा कर लिया है, लेकिन अभी भी प्रक्रिया तालिका में एक प्रविष्टि है, इस प्रक्रिया को अनुमति देता है जिसने इसे अपने निकास की स्थिति को पढ़ने के लिए शुरू किया है। इस शब्द के रंगीन रूपक में, बच्चे की प्रक्रिया की मृत्यु हो गई है, लेकिन अभी तक नहीं मिला है।

जब कोई प्रक्रिया समाप्त होती है, तो इससे जुड़ी सभी मेमोरी और संसाधनों को डीलॉलेट किया जाता है, ताकि उनका उपयोग अन्य प्रक्रियाओं द्वारा किया जा सके। हालाँकि, प्रक्रिया तालिका में प्रक्रिया की प्रविष्टि बनी हुई है। माता-पिता को एक संकेत संकेत भेजा जाता है जो दर्शाता है कि एक बच्चे की मृत्यु हो गई है; इस सिग्नल के लिए हैंडलर आमतौर पर प्रतीक्षा प्रणाली कॉल को निष्पादित करेगा, जो निकास स्थिति को पढ़ता है और ज़ोंबी को हटा देता है। ज़ोंबी की प्रक्रिया आईडी और प्रक्रिया तालिका में प्रविष्टि का फिर से उपयोग किया जा सकता है। हालांकि, यदि कोई माता-पिता SIGCHLD को अनदेखा करता है, तो ज़ोंबी प्रक्रिया तालिका में छोड़ दिया जाएगा। कुछ स्थितियों में यह वांछनीय हो सकता है, उदाहरण के लिए यदि माता-पिता एक और बच्चे की प्रक्रिया बनाते हैं तो यह सुनिश्चित करता है कि इसे उसी प्रक्रिया आईडी को आवंटित नहीं किया जाएगा।

स्रोत: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process


धन्यवाद मार्क अच्छा वर्णन; अब मैं इसे कैसे ढूंढूंगा, इसे बाहर रखने के लिए काम करना चाहिए या नहीं, और यदि नहीं, तो इसे हटा दें (और संदेश)।
जॉन मी

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

2
अगर यह आपके सवाल का असली जवाब है तो मेरे जवाब को स्वीकार करना न भूलें;) धन्यवाद!
मार्क-आंद्रे आर।

10
क्षमा करें, आपने उसके प्रश्न के केवल पहले भाग का उत्तर दिया। यह अभी भी स्पष्ट नहीं है कि किसी को इसके बारे में चिंता करनी चाहिए और इसके बारे में क्या करना चाहिए।

0

जैसा कि स्वीकृत उत्तर में बताया गया है, आपके पास एक ऐसी प्रक्रिया है जिसने निष्पादन पूरा कर लिया है लेकिन अभी भी प्रक्रिया तालिका में है: https://serverfault.com/a/390216/48449

यदि यह केवल एक प्रक्रिया है, तो इससे नुकसान नहीं होना चाहिए, लेकिन फिर भी ऐसा नहीं होना चाहिए। यदि बहुत सारे हैं और आप उन उत्पन्न करने वाली मूल प्रक्रिया को रीबूट या पुनः आरंभ नहीं करते हैं, तो आप अपनी अधिकतम अनुमत संख्या तक पहुँच सकते हैं और गंभीर समस्याएँ पैदा कर सकते हैं।

यह जानने के लिए कि क्या चिंता उचित है और ज़ोंबी किस अन्य प्रक्रिया से संबंधित है, यह मेरे लिए काम करता है:

ps -elf --forest | grep -C5 '<[d]efunct>'

मूल प्रक्रिया के बारे में पता लगाने के लिए यदि आवश्यक हो तो संदर्भ पंक्तियों की संख्या बढ़ाएँ, आदर्श रूप से उस प्रक्रिया को ठीक करें ताकि उसके समाप्त उपप्रकार को "काट" सकें।

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