我有一个关于 dup2()
的问题。它到底做了什么?复制文件描述符?
我不太明白dup2()
的用法。我试过谷歌,但仍然不太明白它的意思。
最佳答案
它有两个描述符参数。它使第二个等同于第一个。除了一些小异常(exception),您可以互换使用它们……有关用例的更多详细信息,请参阅手册页。
您可以这样做,例如,将控制台描述符 1、2 或 3 重定向到其他某个设备或文件。您不想关闭它们然后重新打开的原因是无法保证您会在下一次打开的调用中收到相同的号码描述符。这就是为什么您会使用 open() 获取文件描述符,然后使用 dup2(new_descriptor, 1);
强制描述符 1 转到控制台以外的其他地方。
关于c - Unix C dup2 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918962/