मेरे पास एक परिदृश्य है जहां मैंने दो बच्चे और माता-पिता के बीच संचार के लिए पाइप बनाया है। अभिभावक पाइप को डेटा लिखते हैं (लिखने के फ़ंक्शन का उपयोग करते हैं) और संबंधित फ़ाइल डिस्क्रिप्टर को बंद कर देते हैं। समस्या यह है कि जब मैं पाइप को फिर से डेटा लिखना चाहता हूं, तो लिखने का कार्य त्रुटि कोड -1 लौटा रहा है। मुझे ऐसा लगता है क्योंकि लेखन के अंत पिछले पुनरावृत्ति में बंद कर दिया गया है। फिर एक बार बंद होने के बाद संबंधित फ़ाइल डिस्क्रिप्टर को कैसे खोलें।एक बंद फ़ाइल डिस्क्रिप्टर को फिर से खोलने के लिए कैसे करें
मैंने खुले() फ़ंक्शन का उपयोग करने का प्रयास किया जिसके लिए कुछ फ़ाइल को बहस के रूप में पथ की आवश्यकता होती है। लेकिन मैं अपने आवेदन में किसी भी फाइल का उपयोग नहीं कर रहा हूँ। मेरे पास सरल फ़ाइल डिस्क्रिप्टर हैं (int arr [2])।
क्या पाइप के साथ उपरोक्त परिदृश्य को हासिल करना संभव है ????
यदि हम फ़ाइल वर्णनकर्ता बंद न रूप में जाना जाता हैं, यह संबंधित धारा को EOF नहीं भेजेंगे। तो बच्चे की प्रक्रिया में यह इनपुट के लिए लगातार इंतजार करेगा। लेकिन, मैं स्ट्रीम में सीमित संख्या में लिखना चाहता हूं और पाइप – chaitu
@ चाइतु के दूसरे छोर पर समवर्ती रूप से पढ़ना चाहता हूं: यह सच है कि यदि आप लेखन अंत को बंद नहीं करते हैं, तो पठन अंत अंत फ़ाइल का नहीं दिखाएगा । इसका मतलब यह है कि अगर आप बच्चे को और संदेश भेजना चाहते हैं, तो आपको अपने संदेश के अंत को इंगित करने के लिए फ़ाइल के अंत के अलावा कुछ और उपयोग करने की आवश्यकता है (आमतौर पर, आप एक निश्चित-लंबाई संदेश का उपयोग करेंगे ताकि बच्चा कितना समय जानता हो यह है)। – caf