c - Unix C dup2 问题

标签 c unix

我有一个关于 dup2() 的问题。它到底做了什么?复制文件描述符?

我不太明白dup2()的用法。我试过谷歌,但仍然不太明白它的意思。

最佳答案

它有两个描述符参数。它使第二个等同于第一个。除了一些小异常(exception),您可以互换使用它们……有关用例的更多详细信息,请参阅手册页。

您可以这样做,例如,将控制台描述符 1、2 或 3 重定向到其他某个设备或文件。您不想关闭它们然后重新打开的原因是无法保证您会在下一次打开的调用中收到相同的号码描述符。这就是为什么您会使用 open() 获取文件描述符,然后使用 dup2(new_descriptor, 1); 强制描述符 1 转到控制台以外的其他地方。

关于c - Unix C dup2 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918962/

相关文章:

c - 关于如何进行启发式和目标状态的问题。壮举 15-C 语言拼图问题

C函数打印最大和最小数字

bash - awk 处理前两行,然后处理接下来的两行,依此类推

linux - sed流编辑器unix linux命令: how to keep retain a paragraph with a particular text string

linux - 线程在 Linux、Unix 和 Solaris 中的工作方式有区别吗

c - 防止线程写入同一文件

c++ - Visual Studio 中的复杂构建

C 编程 - 理解 bind()

perl - 无法在未引用的引用上调用 “capture2”方法

c - 将动态分配的数组作为C中的参数传递