Мне нужно использовать Lua для запуска двоичной программы, которая может что-то записывать в свой стандартный вывод, а также возвращает код состояния (также известный как « exit статус ").
Я поискал в Интернете и не нашел то, что мне нужно. Однако я обнаружил, что в Lua:
os.execute ()
возвращает код состояния io.popen ()
возвращает обработчик файла, который можно использовать для чтения вывода процесса Однако Мне нужно и то, и другое. Написание функции-оболочки, которая запускает обе функции за сценой, не является вариантом из-за накладных расходов процесса и, возможно, изменения результата при последовательных запусках. Мне нужно написать такую функцию:
function run(binpath)
...
return output,exitcode
end
Кто-нибудь знает, как можно решить эту проблему?
PS. целевая система звенит Linux.