#include <unistd.h> int dup(int fd); int dup2(int fd,int fd2)
由dup返回的新文件描述符一定是当前可用文件描述符中的最小数值.
对于dup2可以用fd2参数指定新描述符的值.如果fd2已经打开,则先将其关闭.
如若fd等于fd2,则dup2返回fd2,而不关闭它。
否则,fd2的FD_CLOEXEC文件描述符标志就被请出,这样fd2在进程调用exec时是打开状态。
这些函数返回的新文件描述符与参数fd共享同一个文件表项,