मैं पॉज़िक्स (ओएसएक्स) के लिए एक प्रोग्राम लिख रहा हूं जहां मेरे पास एक श्रोता को संदेश भेजने की कई प्रक्रियाएं होंगी, जो अनिवार्य रूप से लॉगिंग थ्रेड है। सभी प्रक्रियाएं अलग-अलग कार्यक्रमों में चल रही हैं, और एक नामित पाइप (एफआईएफओ) का उपयोग करके कई प्रक्रियाएं लिखती हैं, लेकिन केवल एक ही प्रक्रिया से पढ़ना बहुत मोहक है।क्या पॉज़िक्स में नामित पाइप पर एक ही पाठक को कई प्रक्रियाओं को लिखने के लिए असर पड़ता है?
प्रश्न:
1) क्या यह काम करेगा? - मैं इस काम को कई प्रक्रियाओं के साथ एक फीफो सेट करने के लिए बैश का उपयोग करके कर सकता हूं, इसलिए मैं इस काम को सिद्धांत में जानता हूं। लेकिन व्यावहारिक रूप से, क्या ऐसे मुद्दे हैं जिन पर मैं चमक रहा हूं?
खोल # 1
$ mkfifo /tmp/fifo
$ cat /tmp/fifo
गोले # 2 और # 3
$ cat > /tmp/fifo
"Type stuff here, after hitting enter, it is read by shell #1"
2) प्रत्येक लेखक केवल अपेक्षाकृत छोटे संदेश लिखते हैं (< 100 बाइट्स?) तो मैं यह मान सकते हैं प्रत्येक कॉल कि लिखने के लिए() पाठक को पूरी तरह से भेजा जाएगा? या एक आधे संदेश में एक अलग लेखक से दूसरे संदेश के आधे हिस्से के साथ गड़बड़ी का खतरा होगा?
किसी भी सलाह के लिए धन्यवाद।
आपका स्वागत है :) – sfossen