社区
Linux/Unix社区
帖子详情
为什么dup/dup2要清楚close-on-exec标志位?
lsner2
2013-07-24 09:29:26
APUE上面说,如果open的时候指定了O_CLOEXEC那么在dup/dup2的时候会清理掉这个标志位。
同样如果用fcntl的F_DUPFD操作来dup的话,也是同样的效果。
问题是: 为什么要在dup的时候去清理这个标志位呢?
不清理会有什么问题吗? 其他的标志位在dup的时候为什么不清理?
...全文
153
1
打赏
收藏
为什么dup/dup2要清楚close-on-exec标志位?
APUE上面说,如果open的时候指定了O_CLOEXEC那么在dup/dup2的时候会清理掉这个标志位。 同样如果用fcntl的F_DUPFD操作来dup的话,也是同样的效果。 问题是: 为什么要在dup的时候去清理这个标志位呢? 不清理会有什么问题吗? 其他的标志位在dup的时候为什么不清理?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qiyu1988
2013-07-24
打赏
举报
回复
这个应该只是一个选择吧,像dup3和dup2相比就多了O_CLOEXEC可控功能 而fcntl也有一个F_DUPFD_CLOEXEC枚举选项,O_CLOEXEC可用
简要对比C语言中的
dup
()函数和
dup
2
()函数
4. **控制执行时关闭**:由于它们不共享"
close
-on-
exec
"标志,因此`
dup
()`和`
dup
2
()`创建的新描述符在
exec
系列函数执行时是否关闭是独立的。 在实际编程中,选择`
dup
()`还是`
dup
2
()`取决于具体需求。如果只需要一个...
linux test
但是,它们不共享“
close
-on-
exec
”标志,意味着在执行
exec
系列函数时,新文件描述符不会自动关闭。`
dup
()`成功时返回新的文件描述符,失败则返回-1。 `
dup
2
()`与`
dup
()`类似,但允许指定目标文件描述符`newfd`。它...
UNIX环境高级编程
3.12
dup
和
dup
2
函数 46 3.13 fcntl函数 47 3.14 ioctl函数 50 3.15 /dev/fd 51 3.16 小结 52 习题 52 第4章 文件和目录 54 4.1 引言 54 4.2 stat, fstat和lstat函数 54 4.3 文件类型 55 4.4 设置-用户-ID...
C语言unistd.h
`
dup
()`和`
dup
2
()`函数用于复制或重定向文件描述符,而`fcntl()`则是一个功能强大的多用途函数,可以设置文件描述符的各种属性,如非阻塞模式、锁等。 9. **进程同步** `unistd.h`也包含了一些简单的同步原语,如...
UNIX环境高级编程(PDF)
3.12
dup
和
dup
2
函数 46 3.13 fcntl函数 47 3.14 ioctl函数 50 3.15 /dev/fd 51 3.16 小结 52 习题 52 第4章 文件和目录 54 4.1 引言 54 4.2 stat, fstat和lstat函数 54 4.3 文件类型 55 4.4 设置-用户-ID和设置-组-...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章