मेरे पास दो अलग-अलग प्रक्रियाएं हैं: एक सी प्रोग्राम जो अल्पविराम से अलग मूल्यों को आउटपुट करता है, उसके बाद प्रति सेकंड एक नई लाइन और एक पर्ल प्रोग्राम जो डेटा स्वीकार करता है (उसी प्रारूप में) और इस डेटा को संसाधित करता है।मैं दो समवर्ती प्रक्रियाओं को संवाद करने की अनुमति कैसे दूं?
सी कार्यक्रम outputs (printf के माध्यम से) को महत्व देता है जैसे:
1, 2, 3, 4, 5, 6
7, 8, 9, 10, 11, 12
...
पर्ल कार्यक्रम आदेश में इस डेटा को संसाधित करने में STDIN के लिए एक लाइन के आधार पर इंतजार कर अनंत लूप में बैठता है:
while ($line = <STDIN>)
{
chomp($line) # Line should now read "1,2,3,4,5,6"
# Process data
}
मैं इन दो प्रक्रियाओं को वास्तविक समय में संवाद करना चाहता हूं। मानक बैश पाइप काम नहीं करते हैं (उदा। प्रक्रिया 1 | प्रक्रिया 2) क्योंकि पर्ल प्रोग्राम इनपुट को संसाधित करने से पहले खत्म करने के पहले कार्यक्रम के लिए इंतजार कर रहा है।
क्या किसी के पास इस समस्या के समाधान के लिए कोई विचार, सुझाव या अंतर्दृष्टि है? आपका अग्रिम में ही बहुत धन्यवाद!
सख्ती से बोलते हुए, इसका "वास्तविक समय" – andersoj
से कोई लेना-देना नहीं है, आप बिल्कुल सही हैं, मैंने इसे जल्दी से लिखा है और यह समझाने के लिए एक बेहतर तरीका नहीं सोच सकता कि मैं इन प्रक्रियाओं को कैसे काम करना चाहता हूं। समवर्ती एक बेहतर विकल्प हो सकता है। –
समवर्ती बहुत बेहतर है, और इसे ठीक करने के लिए आपके पास एक संपादन बटन है। – derobert