复制文件描述符号
#include <unistd.h>int dup(int oldfd);int dup2(int oldfd, int newfd);
#include <unistd.h>
int dup(int oldfd);
int dup2(int oldfd, int newfd);
另外还有dup3(),不常用。
dup2(fd,fd2);//等价于close(fd2);fcntl(fd,F_DUPFD,fd2);
dup2(fd,fd2);
//等价于
close(fd2);
fcntl(fd,F_DUPFD,fd2);
功能上可以等价于close()和fcntl()的组合,但是dup2是一个原子操作(关闭fd2,和复制fd不会被中断)。