首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不希望父进程及其子进程共享相同的文件描述符表

不希望父进程及其子进程共享相同的文件描述符表
EN

Stack Overflow用户
提问于 2011-05-06 12:25:24
回答 2查看 198关注 0票数 1

我在程序A中打开一个文件,它的文件描述符是3。使用fork,然后执行一个execve,我执行另一个程序B,在这个程序B中,我立即打开另一个文件。这个文件描述符是4。如果A和B没有共享文件描述符表,那么在B中打开的文件的文件描述符应该是3。我需要创建子进程,而不是共享父地址空间,包括打开的文件。

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-06 12:27:25

子进程不共享相同的FD表,您只是忘记在子进程中关闭它们或将它们标记为close-on-exec。

票数 2
EN

Stack Overflow用户

发布于 2011-05-06 12:27:30

exec新进程之前关闭该文件。在fork()exec()之间的代码中这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5906785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档