मैं इसे थोड़ी देर के लिए काम करने के लिए तैयार कर रहा हूं, इसलिए मुझे कुछ गलतफहमी है कि पाइप काम कैसे मेरी परेशानी का मूल कारण है।
मेरा लक्ष्य कुछ दूरस्थ होस्ट के माध्यम से टीसीपी कनेक्शन शुरू करना है netcat
और फाइलसिस्टम पर दो नामित पाइप हैं: एक जो आने वाली डेटा प्राप्त करने के लिए प्रक्रियाओं को पढ़ सकता है, और अन्य जो प्रक्रियाएं आउटगोइंग डेटा के रूप में सेवा कर सकती हैं। मैं वर्तमान में निम्नलिखित निर्माण का उपयोग कर रहा हूं:
mkfifo in
mkfifo out
cat out | netcat foo.bar.org 4000 > in &
यहां से, मैं अन्य प्रक्रियाओं को इस खुले टीसीपी कनेक्शन को पढ़ने / लिखने की अनुमति देना चाहूंगा। क्या यह "बस काम" होना चाहिए, या क्या कोई कारण है कि इस तरह का निर्माण काम नहीं कर सकता है?
क्या लगता है वर्तमान में होने की है कि मैं से पढ़ सकते हैं out
इस मुद्दे के बिना, लेकिन जब मैं करने के लिए लिख in
रहा उत्पादन एक टूट पाइप और बाद के सभी संचार प्रकट होता है उल्लेख मृत होने का मिलता है। विचार?
(संबंधित: मैं मूल रूप से इस्तेमाल किया:
netcat foo.bar.org 4000 < out > in &
लेकिन इसे इनपुट के इंतजार में ब्लॉक करना पाया। मैं इसके बारे में उत्सुक हूं, लेकिन यह शायद एक अलग प्रश्न में बेहतर है।)
write(stdout): Broken pipe
को लिखने के बाद (या थोड़ी देर बाद) प्राप्त करेंout
।