1 2 3 4 5 6 7 8 9 10
| #include <unistd.h>
int dup(int oldfd); int dup2(int oldfd, int newfd);
#define _GNU_SOURCE #include <fcntl.h> #include <unistd.h>
int dup3(int oldfd, int newfd, int flags);
|
目的
给旧的文件描述符再添一个文件描述符,两个描述符都能指向同一个文件
dup()
: 就给旧的再打开一个文件描述符
dup2(oldfd, newfd)
:指定一个新的描述符,新的如果原先有文件,就先关闭
dup3(oldfd, newfd, flags)
: 可以指定O_CLOEXEC
标志