मैं लूप में कमांड लाइन कमांड की एक श्रृंखला चलाने के लिए रूबी में IO.popen
का उपयोग कर रहा हूं। मुझे फिर लूप के बाहर एक और कमांड चलाने की जरूरत है। लूप के बाहर का आदेश तब तक नहीं चल सकता जब तक कि लूप में सभी आदेश समाप्त नहीं हो जाते हैं।IO.popen का उपयोग करने की प्रक्रिया को समाप्त करने के लिए कैसे प्रतीक्षा करें?
मैं इस कार्यक्रम को होने के लिए कैसे इंतजार कर सकता हूं? फिलहाल अंतिम आदेश बहुत जल्द चल रहा है।
एक उदाहरण:
for foo in bar
IO.popen(cmd_foo)
end
IO.popen(another_cmd)
तो सब cmd_foos
से पहले another_cmd
चलाया जाता है वापस जाने के लिए की जरूरत है।
बस एक अतिरिक्त नोट के रूप में आई ओ तरीकों में से ब्लॉक प्रपत्र का उपयोग आमतौर पर सुरक्षित है। इसके अलावा, 1.9 में आपको मजबूती मिलती है क्योंकि ब्लॉक वैरिएबल में अलग-अलग स्कोपिंग होती है जो ब्लॉक के बाहर समान नामित चर के संशोधन को रोकती है (और आप एक चेतावनी अर्जित करेंगे)। –