2009-12-15 20 views
6

कर्नेल 2.6.18 के साथ मेरे फेडोरा कोर 9 वेबसर्वर पर, init ज़ोंबी प्रक्रियाओं का उपयोग नहीं कर रहा है। यह सहनशील होगा यदि यह प्रक्रिया तालिका के लिए अंततः ऊपरी सीमा तक नहीं पहुंचता था, जहां कोई नई प्रक्रिया आवंटित नहीं की जा सकती थी।इनिट कभी ज़ोंबी/निष्क्रिय प्रक्रियाओं का उपयोग नहीं कर रहा है

नमूना ps -el | grep 'Z' के उत्पादन:

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY   TIME CMD 
5 Z  0 2648  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z 51 2656  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 2670  1 0 75 0 -  0 exit ?  00:00:02 crond <defunct> 
4 Z  0 2874  1 0 82 0 -  0 exit ?  00:00:00 mysqld_safe <defunct> 
5 Z  0 28104  1 0 76 0 -  0 exit ?  00:00:00 httpd <defunct> 
5 Z  0 28716  1 0 76 0 -  0 exit ?  00:00:06 lfd <defunct> 
5 Z 74 10172  1 0 75 0 -  0 exit ?  00:00:00 sshd <defunct> 
5 Z  0 11199  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11202  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11205  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11208  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11211  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11240  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11246  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11249  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11252  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 14106  1 0 80 0 -  0 exit ?  00:00:00 anacron <defunct> 
5 Z  0 14631  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 

यह एक ओएस बग है? गलत कॉन्फ़िगरेशन? मैं इस समस्या के स्रोत के रूप में प्रेरणा की तलाश में हूं। धन्यवाद

उत्तर

2

यह 2 तरीकों में Ubuntu पर मुझे मारा गया है:

  1. कुछ कर्नेल के साथ गलत। मेरे मामले में एक कर्नेल ड्राइवर दुर्घटनाग्रस्त हो गया था और आंतरिक प्रक्रियाओं को बोनकर चला गया था। इस जाँच कर रहा है/var परीक्षण करने के लिए/log/syslog (और dmesg) अगर कुछ भी धराशायी हो लग रहा है देखने के लिए सबसे अच्छा तरीका है - उदाहरण के लिए "बग: 0000000000000028 में गिरी NULL संकेतक भिन्नता को संभालने में असमर्थ",

  2. अन्य बार मैं ऐसा देखा गया है जब init "अधिकांश उद्देश्यों के लिए बाल प्रक्रिया के माता-पिता" (वास्तविक मैनपेज उद्धरण) नहीं है। यह तब हो सकता है जब आप प्रक्रिया पर संलग्न करने के लिए ptrace syscall (जो स्ट्र्रेस प्रोग्राम आंतरिक रूप से उपयोग करता है) का उपयोग करते हैं। उदाहरण के लिए, मुझे ऐसी परिस्थिति में मिला है जहां मैं बाल प्रक्रिया बी के लिए अनुग्रह लगाता हूं। आखिरकार, प्रक्रिया बी को समाप्त होता है जैसे कि उसके माता-पिता (सुनिश्चित नहीं है कि कौन सा ऑर्डर)। प्रक्रिया बी फिर init द्वारा स्वामित्व वाली एक ज़ोंबी की तरह दिखता है। हालांकि, इसके "सबसे अधिक उद्देश्य" माता-पिता वास्तव में स्ट्रेस प्रोग्राम थे। स्ट्रेस को मारने के बाद, प्रक्रिया बी को

काटा गया था
संबंधित मुद्दे

 संबंधित मुद्दे