最佳答案
一个示例使用是 I/O 重定向。为此,您 fork 一个子进程并关闭 stdin 或 stdout 文件描述符(0 和 1),然后在您选择的另一个文件描述符上执行 dup(),该文件描述符现在将映射到最低的可用文件描述符,在这个情况 0 或 1。
使用它,您现在可以执行任何可能不知道您的应用程序的子进程,并且每当子进程在 stdout 上写入(或从 stdin 读取,无论您配置什么)时,数据都会写入提供的文件描述符上。
Shell 使用它来实现带有管道的命令,例如/bin/ls |更多
通过将一个进程的标准输出连接到另一个进程的标准输入。
关于c - 实际示例使用 dup 或 dup2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1720535/