मैंने fork()
और exec*()
का उपयोग कर एक प्रोग्राम बनाया है। समस्या यह है कि मैं माता-पिता प्रक्रिया से exec()
की सफलता या विफलता निर्धारित नहीं कर सकता क्योंकि यह अलग-अलग बाल प्रक्रिया पर है। मुझे लगता है कि इस राज्य की जांच के लिए सिग्नलिंग का इस्तेमाल किया जा सकता है, लेकिन मुझे इसके बारे में कोई जानकारी नहीं है।सफलता या कांटा/निष्पादन की विफलता निर्धारित करने के लिए मानक दृष्टिकोण (जबकि माता-पिता एक साथ चल रहे हैं)?
- यह जांचने के लिए अनुशंसित/मानक/व्यापक रूप से उपयोग किया जाने वाला तरीका क्या है?
- और ऐसा करने के दौरान मुझे क्या परेशानी है?
प्रश्न विस्तार से अद्यतन (महत्वपूर्ण विस्तार की चूक के लिए खेद है)
मैं दोनों प्रक्रियाओं को बनाए रखना चाहते चल रहे हैं तो मैं बस बच्चे की प्रक्रिया के बाहर निकलने के लिए इंतजार नहीं कर सकते हैं। दूसरे शब्दों में, मैं बाल प्रक्रिया 'exec
सफलता या विफलता के बारे में अधिसूचित होना चाहता हूं।
आप जानते हैं कि आप 'प्रतीक्षापिड' और 'वनोहंग' विकल्प का उपयोग करके अवरुद्ध किए बिना बच्चे की स्थिति से पूछ सकते हैं? आपके सिस्टम के आधार पर आपके पास 'प्रतीक्षा 3' और' प्रतीक्षा 4 'भी हो सकता है जो इस ध्वज को भी समझता है। या क्या आप बच्चे को चलते समय माता-पिता को कुछ सिग्नल करना चाहते हैं (जैसे आईपीसी सेमफोरस के साथ)? – DarkDust
@ डार्कडस्ट मैं दोनों प्रक्रियाओं को चलाना चाहता हूं और मैं बाल प्रक्रिया 'exec' स्थिति को अधिसूचित करना चाहता हूं। (सफलता या विफलता) ओह आपने मेरा प्रश्न साफ़ कर दिया। धन्यवाद :) – Eonil
संभावित डुप्लिकेट [क्या निष्पादन विफल हो सकता है? आगे क्या होता है?] (Http://stackoverflow.com/questions/3703013/what-can-cause-exec-to-fail-what-happens-next) (विशेष रूप से, देखें ["आर" से जवाब] (http://stackoverflow.com/questions/3703013/#3703179)) – Nemo