सवाल ज़ोंबी प्रक्रिया क्या है और मैं इसे कैसे मारूं?


वर्चुअल शॉटगन?


36
2018-05-27 05:54


मूल




जवाब:


हे भगवान! नहीं नहीं नहीं। हत्या -9 का प्रयोग न करें।

यह प्रक्रिया को साफ करने का मौका नहीं देता है:

  1. सॉकेट कनेक्शन बंद करें

  2. अस्थायी फ़ाइलों को साफ करें

  3. अपने बच्चों को सूचित करें कि यह दूर जा रहा है

  4. अपनी टर्मिनल विशेषताओं को रीसेट करें और इसी तरह और इसी तरह से।

आम तौर पर, 15 भेजें, और एक या दो का इंतजार करें, और यदि यह काम नहीं करता है, तो 2 भेजें, और यदि यह काम नहीं करता है, तो भेजें 1. अगर ऐसा नहीं होता है, तो बिनरी को हटा दें क्योंकि कार्यक्रम बुरी तरह से व्यवहार कर रहा है!

हत्या -9 का प्रयोग न करें। केवल फूल के बर्तन को साफ करने के लिए गठबंधन हारवेस्टर बाहर न लाएं।


18
2018-05-27 06:34



मार -9 लाश को मार नहीं देगा। आपको अपने माता-पिता को मारना है, पस्ट्री को देखो। - LapTop006
@ लैपटॉप 100: उस मामले में वे पिशाच की तरह अधिक हैं; आक्रमण रोकने के लिए सिर पिशाच को मार डालो। - amphetamachine
यह जवाब लगभग हर तरह से गलत है। प्रक्रिया पूरी हो गई है; यह पहले से ही अपने कनेक्शन बंद कर चुका है, अस्थायी फ़ाइलों को साफ कर सकता है इत्यादि। अब कोई वास्तविक प्रक्रिया नहीं है, बस प्रक्रिया तालिका में एक प्रविष्टि है। बच्चे बाइनरी को न हटाएं - यह बुरी तरह व्यवहार नहीं कर रहा है। इसका मतलब यह है कि माता-पिता ने अभी तक अपने बच्चे के लिए उचित अंतिम संस्कार नहीं किया है। - Ken Williams


ज़ोंबी प्रक्रिया (वास्तव में अब उन्हें बुलाया जाता है <defunct>) वास्तव में एक प्रक्रिया नहीं है। यह प्रक्रिया तालिका में केवल प्रवेश है, इसलिए मूल प्रक्रिया कर सकती है wait() syscall

आपको उनके बारे में चिंता नहीं करनी चाहिए। वे किसी भी संसाधन पर कब्जा नहीं करते हैं, वे तब भी गायब हो जाएंगे जब उनके माता-पिता कॉल करेंगे wait() जब माता-पिता खुद मर जाते हैं।


18
2018-05-27 08:46





यह एक ऐसी प्रक्रिया है जिसे पूरी तरह से हटा दिया गया है लेकिन प्रक्रिया तालिका में अभी भी मौजूद है। अनाथ प्रक्रिया के साथ इसे तुलना करें, जिसका माता-पिता मर चुका है लेकिन अभी भी निष्पादित है।

यहां बताया गया है  कुछ  सलाह उनसे छुटकारा पाने पर।


9
2018-05-27 06:00





एक ज़ोंबी प्रक्रिया में प्रक्रिया पेड़ में प्रवेश के अलावा, जो कुछ भी आवंटित नहीं किया जाता है। यह तब होता है जब कोई प्रक्रिया पूरी होती है, हालांकि मूल प्रक्रिया अभी तक नहीं है काटा मैं बांधता हूं।, waitइस पर एड)।

आप माता-पिता को ऐसा करने के लिए मजबूर कर सकते हैं और अगर आप इसे एक सिग्च भेजकर चाहते हैं (kill -20), माता-पिता के लिए, लेकिन इस बात की कोई गारंटी नहीं है कि माता-पिता इसका सम्मान करेंगे।

आप अक्सर उन्हें कम समय के लिए देखेंगे (उदाहरण के लिए शीर्ष का उपयोग कर प्रक्रिया पेड़ को देखते हुए) - यह सामान्य है; उस समय के दौरान जब एक बच्चा प्रक्रिया पूरी हो जाती है, और उसके लिए अभिभावक चुनाव - उस समय की प्रक्रिया ज़ोंबी के रूप में दिखाई देगी।

यदि आप ज़ोंबी प्रक्रियाओं को देखते हैं जो लगातार मौजूद हैं - जो सामान्य नहीं है - अभी भी चिंतित होने की कोई आवश्यकता नहीं है - फिर से मृत प्रक्रिया के लिए आवंटित संसाधन नहीं है - इसका आमतौर पर मतलब है कि आवेदन क्रैपी डेवलपर्स द्वारा खराब लिखा गया है।

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

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


8
2018-05-28 15:58





पहले से ही एक स्वीकार्य उत्तर है, हालांकि: आप ज़ोंबी प्रक्रिया को मार सकते हैं। पैरेंट प्रक्रिया में डीबगर के साथ संलग्न करें और प्रतीक्षा प्रतीक्षा करें। उदा .: - मान लें कि माता-पिता के पास पीआईडी ​​= 100 है, ज़ोंबी प्रक्रिया में पीआईडी ​​= 200 है

$ gdb -p 100
(gdb) call waitpid(200, 0, 0)
(gdb) quit

8
2018-01-11 13:28



दिलचस्प। मैं कोशिश करूँगा - ewwhite


वर्चुअल शॉटगन के लिए ...

$ शूट <pid>
#! / Bin / श
शिकार = `ps -e -o pid, ppid | egrep "^ \ s * $ 1 \ b" | अजीब '{प्रिंट $ 2}' `
पीड़ित \ _name = `ps -e -o pid, cmd | egrep "^ \ s * $ {शिकार} \ b" | हेड -1 एन | अजीब '{प्रिंट $ 2}' `
#kill $ {शिकार}
echo "मार डाला $ {victim_name}।"

और याद रखें: हमेशा उन्हें सिर में गोली मारो।


0
2018-06-01 12:33



मुझे खेद है, लेकिन रिकॉर्ड के लिए, इस स्क्रिप्ट में एक टाइपो "पीड़ित_नाम" है और वह $ 1 पर दिए गए पीआईडी ​​के माता-पिता को मारने जा रहा है, किसी भी मामले में यह मानता है कि पीआईडी ​​एकमात्र ज़ोंबी है या अगर उसके कुछ भाई बहन हैं, तो यह सिर्फ पिता को मारता है और इसके साथ सभी परिवार मर जाएंगे। - Marc Riera


एक ज़ोंबी प्रक्रिया एक प्रक्रिया है जो निष्पादन समाप्त कर चुकी है, लेकिन अभी भी प्रक्रिया तालिका में सूचीबद्ध है।

kill -9 [पैरेंट प्रक्रिया_नाम] अत्यधिक पूर्वाग्रह के साथ, इसे नीचे रख दिया जाएगा।


-1
2018-05-27 05:58



kill -9 एक ज़ोंबी प्रक्रिया को मार नहीं देगा - यही कारण है कि उन्हें लाश कहा जाता है। एक ज़ोंबी "प्रक्रिया" तब तक नहीं चली जाएगी जब तक उसके रिटर्न कोड को मूल प्रक्रिया द्वारा नहीं लिया जाता है। - Mei
नहीं, मार -9 पर माता पिता माता-पिता को मार डालेगा, जो इसके माता-पिता को बनाएगा, जो मर्जी बच्चे के रिटर्न कोड काट लें। - Alan