我在Linux中打开文件时应该何时使用O_CLOEXEC?

时间:2013-03-16 09:31:18

标签: c linux file-io exec

我的过程分叉了几次,每次孩子都会执行 - 意味着我希望它能运行其他程序。

在主进程中,我使用open()系统调用打开文件描述符。

给它一个标记O_CLOEXEC是否正确,以便我使用exec()运行的新程序不具有fd资源?

1 个答案:

答案 0 :(得分:16)

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