मेरे पास दो प्रोग्राम, लेखक और पाठक हैं।यूनिक्स पर कई पाठकों के साथ नामित पाइप्स (एफआईएफओ)
मेरे पास राइटर से रीडर तक एक फीफो है इसलिए जब मैं राइटर में stdin को कुछ लिखता हूं, तो इसे रीडर से stdout पर मुद्रित किया जाता है।
मैंने दो पाठकों के साथ इसे करने की कोशिश की, और मुझे दो रीडर कार्यक्रमों में से केवल एक से बाहर निकलने के लिए आउटपुट मिला। प्रत्येक पाठक कार्यक्रम यूनिक्स प्रत्येक बार जब मैं इसे चलाता हूं, तब से स्टडआउट मुद्रित करने के लिए चुनता है, लेकिन एक बार जब यह प्रोग्रामों में से किसी एक को चुनता है, तो प्रत्येक आउटपुट को एक ही रीडर प्रोग्राम से मुद्रित किया जाता है।
क्या कोई जानता है कि ऐसा क्यों होता है?
यदि मेरे पास दो WRITER प्रोग्राम हैं, तो वे दोनों एक ही पाइप को ठीक से लिखते हैं।
क्या आप जानना चाहते हैं कि डेटा प्रत्येक पाठक को "प्रसारण" क्यों नहीं किया जाता है या क्यों डेटा प्रत्येक पाठक के बीच समान रूप से वितरित नहीं किया जाता है? – Jacob
मुझे विश्वास है कि लेखक अपने stdout (stdin नहीं) पर लिख रहा है, जो फीफो है; प्रत्येक पाठक संभवतः इसे अपने स्वयं के stdin से पढ़ रहा है, जो फीफो है, और उसके बाद डेटा को अपने स्वयं के stdout पर लिख रहा है। –
जैकब - मैं जानना चाहता हूं कि डेटा दोनों पाठकों के लिए क्यों नहीं जा रहा है, केवल एक। –