2008-12-28 19 views
27

मैं सी/सी ++ में fork() के साथ बाल प्रक्रियाएं बना रहा हूं।
जब माता-पिता की प्रक्रिया समाप्त होती है (या किसी कारण से मार दी जाती है) मैं चाहता हूं कि सभी बाल प्रक्रियाएं भी मारे जाएं।
क्या यह सिस्टम द्वारा स्वचालित रूप से किया जाता है? या मुझे इसे खुद करना है?क्या माता-पिता की हत्या होने पर फोर्क() के साथ बनाई गई बाल प्रक्रियाएं स्वचालित रूप से मारे जाती हैं?

धन्यवाद।


पहले से मौजूद इसी तरह के सवाल:

+0

मैं इसी तरह के सवाल देखकर याद रखें:

सवाल पहले से ही गुणवत्ता वाले उत्तर यहाँ के साथ चर्चा की गई। जैसे http://stackoverflow.com/questions/269494/how-can-i-cause-a-child-process-to-exit-when-the-parent-does – PolyThinker

उत्तर

32

नहीं। माता-पिता की मौत हो गई है, तो बच्चों init प्रक्रिया के बच्चों (बन है कि इस प्रक्रिया है आईडी 1 और कर्नेल द्वारा पहली उपयोगकर्ता प्रक्रिया के रूप में लॉन्च किया गया है)।

इनिट प्रक्रिया समय-समय पर नए बच्चों के लिए जांचती है, और अगर वे निकलती हैं तो उन्हें मार देती है (इस प्रकार संसाधनों को मुक्त कर दिया जाता है जो उनके वापसी मूल्य द्वारा आवंटित किए जाते हैं)। How to make child process die after parent exits?

+0

तो क्या इसका मतलब यह है कि बाल प्रक्रियाओं को असामान्य रूप से मार नहीं दिया जाता है समयपूर्व समाप्ति से पहले, लेकिन उनके कोड को पूरी तरह निष्पादित करने के लिए प्रतीक्षा करें और फिर समाप्त करें? –

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

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