आपको उन्हें मारने की जरूरत नहीं है।
कुछ बुनियादी समझ बनाने के लिए:
प्रत्येक प्रक्रिया एक मूल प्रक्रिया का बच्चा है (init प्रक्रिया को छोड़कर, लेकिन हमें उस बारे में चिंता करने की आवश्यकता नहीं है)।
जब कोई बच्चा प्रक्रिया निष्पादित करना समाप्त कर लेता है, तो इसमें अभी भी डेटा हो सकता है जो मूल प्रक्रिया तक पहुंचना चाहता है, आमतौर पर एक एक्जिट कोड जो बच्चे की प्रक्रिया के परिणाम का वर्णन करता है (क्या यह सफल हुआ? क्या यह त्रुटि थी? त्रुटि कोड क्या था?)।
एक समाप्त बच्चे की प्रक्रिया एक ज़ोंबी प्रक्रिया के रूप में प्रक्रिया तालिका में घूमती है जब तक कि माता-पिता की प्रक्रिया "पढ़ती है" या बच्चे की प्रक्रिया का इंतजार नहीं करती है, जो कि बस मूल प्रक्रिया ओएस को बता रही है कि उसे अब उस बच्चे की प्रक्रिया की आवश्यकता नहीं है; यह किसी भी रिटर्न मान को पढ़ना चाहता है, और इसके साथ किया जाता है। इस बिंदु पर, सिस्टम प्रक्रिया तालिका में प्रविष्टि को साफ करेगा।