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