मुझे एक बाइनरी प्रोग्राम चलाने के लिए लुआ का उपयोग करने की आवश्यकता है जो अपने stdout में कुछ लिख सकता है और एक स्टेटस कोड भी देता है (जिसे "exit status" भी कहा जाता है)।वापसी की स्थिति और प्रोग्राम आउटपुट प्राप्त करना
मैंने वेब की खोज की और मुझे जो चाहिए वह कुछ नहीं मिला। हालांकि मुझे पता चला कि लुआ में:
os.execute()
स्थिति कोडio.popen()
रिटर्न एक फ़ाइल हैंडलर है कि इस प्रक्रिया उत्पादन को पढ़ने के लिए
हालांकि मैं दोनों की जरूरत है इस्तेमाल किया जा सकता देता है। एक रैपर फ़ंक्शन लिखना जो दृश्य के पीछे दोनों कार्यों को चलाता है, प्रक्रिया ओवरहेड की वजह से एक विकल्प नहीं है और संभवतः लगातार रनों के परिणामस्वरूप परिवर्तन होता है। मुझे इस तरह के एक समारोह को लिखने की जरूरत है:
function run(binpath)
...
return output,exitcode
end
क्या किसी को यह पता है कि इस समस्या को कैसे हल किया जा सकता है?
पीएस। लक्ष्य प्रणाली रनग लिनक्स। http://code.google.com/p/lua-ex-api/
वैकल्पिक रूप से, आप एक छोटे खोल स्क्रिप्ट लिख सकता है (बैश संभालने या इसी तरह उपलब्ध है) कि:
धन्यवाद। हां हमारे पास हमारे छोटे लिनक्स सिस्टम पर एक खोल है। यह समस्या का सबसे तेज़ समाधान है। – AlexStack
@AlexStack आपका स्वागत है। –