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


11

एक ज़ोंबी प्रक्रिया या धागा क्या है, और उन्हें क्या बनाता है? क्या मैं सिर्फ उन्हें मार सकता हूं, या क्या मैं निदान पाने के लिए कुछ कर सकता हूं कि उनकी मृत्यु कैसे हुई?


13
आपने उनका सिर काट दिया। या आप उन्हें जला दें। यही एक मात्र मार्ग है।
साइमन बर्गोट

"उन्हें मारो या उन्हें जलाओ, वे बहुत आसान हो जाते हैं" ...
TMN

जवाबों:


17

एक ज़ोंबी प्रक्रिया या धागा क्या है, और उन्हें क्या बनाता है?

एक ज़ोंबी प्रक्रिया एक मृत प्रक्रिया है।
OS सिर्फ जानकारी रख रहा है इसलिए अभिभावक कुछ बाद के बिंदुओं पर प्रक्रियाओं के निकास कोड की जांच कर सकते हैं क्योंकि OS उनके बारे में जानकारी रखता है और इस प्रकार वे प्रक्रियाओं को देखते समय बदल जाते हैं।

क्या मैं उन्हें मार देता हूँ,

नहीं। वे पहले ही मर चुके हैं।
जब माता-पिता की मृत्यु हो जाएगी या ओएस से स्थिति कोड प्राप्त हो जाएगा तो ओएस साफ हो जाएगा।

या मैं डायग्नोस्टिक्स प्राप्त करने के लिए कुछ कर सकता हूं कि उनकी मृत्यु कैसे हुई?

नहीं, माता-पिता खोल नहीं सकते हैं।


4

एक ज़ोंबी धागा एक धागा है जिसने इसके निष्पादन को समाप्त कर दिया है, लेकिन सफाई से समाप्त नहीं किया है। यह थ्रेड द्वारा उपयोग किए गए संसाधनों को हटाता है, लेकिन थ्रेड / प्रोसेस टेबल में एक प्रविष्टि रखता है।

सैद्धांतिक रूप से, ज़ोंबी थ्रेड इस स्थिति से बाहर निकलता है एक _join (POSIX) निष्पादित करके। इसका मतलब यह है कि जब आपका मुख्य समाप्त हो जाता है, तो कार्यक्रम के साथ ज़ोंबी प्रक्रिया को मार दिया जाएगा।


2

एक ज़ोंबी प्रक्रिया एक ऐसी प्रक्रिया है जिसने अपने निष्पादन को समाप्त कर दिया है और इसे निर्धारित प्रक्रियाओं की सूची से हटा दिया गया है , लेकिन अभी तक हटाया नहीं गया है। OS पर निर्भर करते हुए, tt के पास अभी भी विभिन्न संसाधन नहीं हो सकते हैं या उसे सौंपा नहीं जा सकता है, और इसे छोड़ दिया जा सकता है, लेकिन यह नहीं चलेगा।

कुछ OS'es (डिज़ाइन द्वारा) को एक निश्चित घटना बिंदु से परे संसाधनों को गतिशील रूप से बनाने या हटाने की अनुमति नहीं है (उदाहरण के लिए VxWorks प्रमाणपत्र)। इस तरह के सिस्टम अक्सर संसाधनों के पूर्व-आवंटित पूल का उपयोग करके इस सीमा के आसपास काम करते हैं, जहां से वे वस्तुओं को पुनः प्राप्त करते हैं, वापस करते हैं और पुन: उपयोग करते हैं। हालांकि, जब इस तरह की प्रणाली पर एक प्रक्रिया समाप्त हो जाती है, तो इसे हटाया नहीं जा सकता है और इसके बजाय ज़ोम्बीफ़ाइड (समाप्त और शेड्यूलिंग सूची से हटा दिया जाएगा) हो जाएगा।

उम्मीद है की यह मदद करेगा।


0

जब थ्रेड / प्रक्रिया को मार दिया जाता है, लेकिन इसके बारे में संबंधित तालिका में एक रिकॉर्ड अभी भी है, तो यह एक ज़ोंबी बन जाता है।

यह तब हो सकता है, उदाहरण के लिए, एक माता-पिता की प्रक्रिया एक बच्चे की प्रक्रिया बनाती है, लेकिन बच्चे से पहले समाप्त हो जाती है। जब बच्चा प्रक्रिया समाप्त हो जाता है, तो यह बताता है कि इसे समाप्त करने के बारे में माता-पिता हैं। बाद में बच्चे की प्रक्रिया का रिकॉर्ड संबंधित तालिका से हटा दिया जाता है। लेकिन यह माता-पिता पहले ही समाप्त हो चुका है, इसलिए रिकॉर्ड अभी भी तालिका में बना हुआ है।

लाश से छुटकारा पाने का कोई तरीका नहीं है, लेकिन रिबूट करें


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