Lua和os.execute返回

问题描述:

我正在编写一个lua脚本,我必须执行两个shell命令,这两个shell命令都会保留回显信息,直到以^ C终止。Lua和os.execute返回

这意味着os.execute是无用的,因为它等待返回码,它永远不会来,并冻结整个脚本。你对如何完成这项工作有任何想法吗?一个好的解决方案是不要求os.execute返回任何值,所以它会发送命令并继续前进,但我认为这是不可能的。另一个是多线程,我没有能够使它工作。

我也必须有能力通过使用^ C或lua方法以某种方式停止两个无限循环。该脚本使用Lua 5.1.4在iPhone(iOS 5.0.1/root)上运行。

os.execute('yourcommand&') 

这应该在后台运行命令并立即返回到您的Lua脚本。

如果你想要更复杂的过程控制,你可能要用本地代码编写它。

+0

那么这似乎工作,但我发现了另一个解决方案。 io.popen(“command”)在另一个窗口中运行它。两者唯一的问题是你需要为每个命令按^ C一次,而不是一次。当他们只有两个时,这并不重要。 – DaKnOb