【发布时间】:2010-09-18 03:53:32
【问题描述】:
我需要运行 Linux CLI 命令并从 C 中获取其标准输出。
我可以使用 pipe() 创建一个管道,然后 fork/exec,在调用 exec() 之前将子级的标准输出描述符重定向到管道中,并从父级的管道中读取。另外,我需要等孩子。
是否有一个简单的调用来做 fork + redirect + exec + wait,就像 system() 做 fork + exec + wait,只有 system() 不做重定向。
有popen(),它做fork + redirect + exec,但不做等待,所以我无法获得退出状态。
【问题讨论】: