Linux操作系统中dup与fcntl
·
dup是duplicate的缩写,主要表示复制的意思

起到复制和重定向作用。

在代码中呈现。
首先open一个文件以只读的形式,将此处的fd为3,012为输入输出错误,因此被常驻占用,会向后推送,因此为3,而我们复制一个newfd以后,会开辟4为newfd,然后4直接指向3所指向的内容,这就是复制
代码第 4 行漏了 #include <fcntl.h>

复制只会将描述符指针指向先前描述符所指文件

fcntl在这里展示的作用是和dup相似的,而它与dup的区别在于newfd的位置。
类似dup会将newfd放在最小位置,类似上一个例子,3和4,但他无法跳过4进入到别的描述符位置
fcntl可以在最后参数位置写上想要填入的数值,会返回所填文件描述符之后最小可用描述符
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)