2011-03-18 21 views
10

perlipc/Signals से:लाश कैसे नुकसान पहुंचाते हैं?

eval { 
    local $SIG{ALRM} = sub { die "alarm clock restart" }; 
    alarm 10; 
    flock(FH, 2); # blocking write lock 
    alarm 0; 
}; 
if ([email protected] and [email protected] !~ /alarm clock restart/) { die } 

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

मेरे पास एक समान कोड है, जहां ऑपरेशन का समय समाप्त हो रहा है सिस्टम() या qx() है।

क्या ज़ोंबी के बारे में बुरी बात यह है कि वे स्मृति का उपभोग करते हैं या ज़ोंबी नुकसान पहुंचाने के कई और तरीके हैं?

+0

हां, आपके मस्तिष्क को खाने से ज़ोंबी नुकसान पहुंचाने के कई तरीके हैं। –

उत्तर

12

प्राथमिक मुद्दा यह है कि वे प्रक्रिया तालिका स्लॉट का उपभोग करते हैं। लिनक्स की प्रक्रिया तालिका 64k प्रविष्टियों को पकड़ सकती है, इसलिए जब तक आप ज़ोंबी को साफ किए बिना बहुत अधिक फोकस नहीं करते हैं तब तक समस्याएं उत्पन्न होने की संभावना नहीं होती है। मैं उम्मीद करता हूं कि अधिकतर, यदि सभी नहीं, तो अन्य आधुनिक * निक्सेस में एक ही आकार की प्रक्रिया सारणी होती है। जब आप ps चलाते हैं, तो यह बदसूरत लग रहा है।

मेमोरी वास्तव में एक समस्या नहीं है, क्योंकि प्रत्येक ज़ोंबी केवल बाहर निकलने की स्थिति को रिकॉर्ड करने के लिए कुछ बाइट लेता है।

8

वे प्रक्रिया तालिका में स्मृति और स्थान का उपभोग करते हैं।

+19

और दिमाग। दिमाग को मत भूलना –

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