我想从 lua 脚本同时执行后台进程
喜欢 :
a = io.popen("deploy.exp" .. ip1):read("*a")
b = io.popen("deploy.exp" .. ip2):read("*a")
其中 a,b 是不断运行的进程。当我按上述方式执行此操作时,b 只会在 a 完成时运行。deploy.exp 脚本是一个expect 脚本,用于ssh 一些服务器,并执行一些命令。然后我需要从 a 和 b 获取一些文本。对此有任何想法吗?我尝试了 ExtensionProposal API。当我尝试时,我收到一条错误消息,上面写着:“ * glibc detectedfree():下一个大小无效(快速):0x08aa2300 * * abort"。
部分代码是
for k,v in pairs(single) do
command = k .. " 1 " .. table.concat(v, " ")
local out = io.pipe()
local pro = assert(os.spawn("./spaw.exp " .. command,{
stdout = out,
}))
if not proc then error("Failed to aprogrinate! "..tostring(err)) end
print(string.rep("#", 50))
local exitcode = proc:wait()
end
有没有人对此有任何经验(或建议/我们应该在哪里看)?或者给我一个样品?谢谢
顺便说一句:我尝试了 luaposix,但我无法通过 posix.fork() 找到任何示例。有没有人可以分享一个?TKS