Команда Lua os.execute основана на функции "shell" стандартной библиотеки C.В Windows эта функция всегда создает командное окно и всегда останавливает текущий процесс, пока окно не завершится.Последнее также происходит в Linux.
В конечном счете, нет пути к этому.Не через стандартный API Lua.Поскольку Lua должен быть легковесным и независимым от платформы, API не может использовать собственные API-интерфейсы, зависящие от ОС.
Лучше всего было бы использовать модуль Lua Ex-Api ,Это фактически заброшенное ПО, и вам может потребоваться исправить некоторые проблемы с компилятором (я думаю, порт Windows не был их первым приоритетом).Но это достаточно хороший способ порождать процессы.Вы можете подождать, пока он не завершит себя, или позволить им работать параллельно.И оно не откроет окно командной строки, если только само приложение не использует его.