两个 shell 进程是否能够通过 Lua 中的协程来协作?

我尝试简化我的问题。

我在 Ubuntu 上有两个 bash 文件需要运行,并且它们的处理彼此依赖,就像下棋一样,或者像这样:

Bash A: 执行一个命令,并从 stdin 读取

Bash B: 执行一个命令,打印到 stdout

Bash A: 继续...

在 Lua 中的协程能够像这样处理吗?

点赞
用户869951
用户869951

不,协程仅是在一个Lua状态内的协作线程,不能用于进程间通信(尽管可以在协程中完成任何常规函数可以完成的任务,如从stdin读取、写入stdout、使用io.popen等,但协程并不是实现所需功能的必要条件)。请参考Kamiccolo在评论中发布的链接。

2014-02-28 16:46:22