#include <unistd.h>
int dup( int oldfd );
int dup2( int oldfd, int targetfd );
dup()函数
利用函数dup,我们可以复制一个描述符。传给该函数一个既有的描述符,它就会返回一个新的描述符,这个新的描述符是传给它的描述符的拷贝。这意味着,这两个描述符共享同一个数据结构。例如,如果我们对一个文件描述符执行lseek操作,得到的第一个文件的位置和第二个是一样的。
dup2()函数
可以指定具体的id,函数成功时oldfd关闭,targetfd指向oldfd的文件。若targetfd之前被占用,则会先关闭之前占用的文件