在Linux系统调用中,fcntl内部的F_DUPFD有什么用途

在Linux系统调用中,fcntl内部的F_DUPFD有什么用途,c,linux,posix,C,Linux,Posix,我试图理解这行代码的含义: int-dfd fd2=fcntl(dfd,F_DUPFD)它旨在将fd2设置为引用与dfd相同的打开文件记录的另一个文件描述符 应该有第三个参数,即返回的最低可接受文件描述符。由于缺少第三个参数,调用可能会做任何事情。正确的呼叫可能如下所示: fd2 = fcntl(dfd, F_DUPFD, 0); 从: F_DUPFD(int) 查找编号最小的可用文件描述符,该描述符大于或等于arg,并使其成为fd的副本。这与使用指定描述符的dup2(2)不同 成功时,将返回

我试图理解这行代码的含义:

int-dfd


fd2=fcntl(dfd,F_DUPFD)

它旨在将
fd2
设置为引用与
dfd
相同的打开文件记录的另一个文件描述符

应该有第三个参数,即返回的最低可接受文件描述符。由于缺少第三个参数,调用可能会做任何事情。正确的呼叫可能如下所示:

fd2 = fcntl(dfd, F_DUPFD, 0);
从:

F_DUPFD
(int)

查找编号最小的可用文件描述符,该描述符大于或等于
arg
,并使其成为
fd
的副本。这与使用指定描述符的dup2(2)不同

成功时,将返回新的描述符

有关更多详细信息,请参见dup(2)


它旨在将
fd2
设置为引用与
dfd
相同的打开文件记录的另一个文件描述符

应该有第三个参数,即返回的最低可接受文件描述符。由于缺少第三个参数,调用可能会做任何事情。正确的呼叫可能如下所示:

fd2 = fcntl(dfd, F_DUPFD, 0);
从:

F_DUPFD
(int)

查找编号最小的可用文件描述符,该描述符大于或等于
arg
,并使其成为
fd
的副本。这与使用指定描述符的dup2(2)不同

成功时,将返回新的描述符

有关更多详细信息,请参见dup(2)


是的,dup是fcntl通用函数的快捷方式。是的,dup是fcntl通用函数的快捷方式。