Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 我们可以在dup2中使用读fd和写fd作为参数吗_Unix_Polling - Fatal编程技术网

Unix 我们可以在dup2中使用读fd和写fd作为参数吗

Unix 我们可以在dup2中使用读fd和写fd作为参数吗,unix,polling,Unix,Polling,在调用dup2()时,我们是否可以使用读取文件描述符作为第一个参数,并将写入文件描述符作为第二个参数,以便将第二个文件描述符的输出重定向到第一个参数。否。dup2关闭打开的第二个文件描述符。它不会将两个文件描述符挂钩在一起 您可能可以使用sendfile或splice系统调用在Linux上复制数据,或在OS X上使用sendfile复制数据,而无需在进程地址空间中移动数据。但是,这些调用不会神奇地复制所有数据,而不会阻塞您的进程。否 查看手册页,了解pipe(2)

在调用dup2()时,我们是否可以使用读取文件描述符作为第一个参数,并将写入文件描述符作为第二个参数,以便将第二个文件描述符的输出重定向到第一个参数。

否。
dup2
关闭打开的第二个文件描述符。它不会将两个文件描述符挂钩在一起

您可能可以使用
sendfile
splice
系统调用在Linux上复制数据,或在OS X上使用
sendfile
复制数据,而无需在进程地址空间中移动数据。但是,这些调用不会神奇地复制所有数据,而不会阻塞您的进程。

查看手册页,了解
pipe
(2)