【发布时间】:2014-03-05 10:22:13
【问题描述】:
我的任务是用 C 语言编写一个打开管道的程序,然后其中一个进程执行 ls 命令并将输出写入管道。然后其他进程应该读取它并将其显示在 shell 中。
所以,我正在努力解决的主要问题是:
execl("/bin/ls", "/bin/ls", NULL);
如何将输出重定向到管道?
我尝试做的另一种方法是将输出重定向到文件,读取文件,然后将其写入管道,最后在另一端读取它(并删除文件)。 在这样的外壳中:
ls > ls_out.txt
但我无法用 execl 重现它。
当然,我最喜欢的解决方案仍然是:
execl("/bin/ls", "bin/ls", " > my_pipe", NULL)
【问题讨论】: