ls:नामित पाइप स्क्रिप्ट में समय से पहले बंद हो रहा है?
prwx------ 1 root root 0 fifo
write.sh:
#! /bin/bash
while true;
do
echo "blah" > fifo
done
read.sh:
#! /bin/bash
while true;
do
cat fifo
done
मैं दो टर्मिनलों खुला है, एक write.sh
चल रहा है और एक और read.sh
चल रहा है। जब मैं पहले write.sh
शुरू करता हूं, तो यह लटकता है (जैसा कि इसे करना चाहिए)। फिर मैं दूसरे टर्मिनल पर जाता हूं और read.sh
शुरू करता हूं और यह "blah"
को कई बार प्रिंट करता है, फिर मेरा write.sh
स्टॉप हो जाता है। मेरी लेखन स्क्रिप्ट क्यों रोक रही है? यह एक छोटा सा परीक्षण है जो मैं पाइप को थोड़ा बेहतर समझने और समझने के लिए कर रहा हूं क्योंकि मैं अपने सभी लॉग एक पाइप पर भेज रहा हूं ताकि मैं उन्हें फाइल में लिखने से पहले पार्स कर सकूं।
मुझे यहां क्या याद आ रही है?
बिल्कुल सही! धन्यवाद। – n0pe