【问题标题】:Read console output realtime in lua, take 2在lua中实时读取控制台输出,取2
【发布时间】:2021-09-24 09:58:29
【问题描述】:

我有一个进程 process.exe,它监视某些行为并在运行时将所有更改实时打印到控制台窗口中。作为一个独立的东西,它完美地工作。

我需要用 lua 脚本读取它的输出。 我尝试使用此处提供的答案:

Read console output realtime in lua

local pipe = io.popen('process.exe "myPath"')
for line in pipe:lines() do
    print(line)
end
pipe:close()

关键是,这个 lua 脚本会生成一个挂起的 cmd.exe 窗口,并且不会在我的 LUA 控制台中打印任何内容。只有在我关闭此 cmd 窗口后,脚本才会打印所有输出。所以我不知道如何解决这个问题。

【问题讨论】:

    标签: lua


    【解决方案1】:

    似乎process.exe 不会自行结束,因此...
    “只有在我关闭此 cmd 窗口后,脚本才会打印所有输出。”
    ...意味着您必须自己关闭process.exe

    如果是这样并且您只需要输出,请使用os.execute()
    一个人不在:for ... do ... end

    【讨论】:

    • 但是我该如何读取输出呢?我认为 os.execute 是不可能的。我弄错了吗?
    • 但只要脚本运行,我的 process.exe 就应该运行。这才是重点。我需要它运行时的输出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2020-05-25
    • 2019-12-24
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多