当我在Linux中打开文件时应该什么时候使用O_CLOEXEC?

当我在Linux中打开文件时应该什么时候使用O_CLOEXEC?,第1张

概述我的过程分叉了几次,每次孩子执行 – 意味着我想要运行一些其他程序. 在主程序中,我使用open()syscall打开一个文件描述符. 给它一个标志O_CLOEXEC是正确的,所以我用exec()运行的新程序不会有fd资源? 是的,除非您需要您执行的程序才能访问该文件描述符.您也可以在调用exec之前在子进程中手动关闭文件描述符,但这更容易出错. 我的过程分叉了几次,每次孩子执行 – 意味着我想要运行一些其他程序.

在主程序中,我使用open()syscall打开一个文件描述符.

给它一个标志O_CLOEXEC是正确的,所以我用exec()运行的新程序不会有fd资源?

解决方法 是的,除非您需要您执行的程序才能访问该文件描述符.您也可以在调用exec之前在子进程中手动关闭文件描述符,但这更容易出错. 总结

以上是内存溢出为你收集整理的当我在Linux中打开文件时应该什么时候使用O_CLOEXEC?全部内容,希望文章能够帮你解决当我在Linux中打开文件时应该什么时候使用O_CLOEXEC?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存