[英] What does the FD_CLOEXEC fcntl() flag do?
就像这样:
if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) {
...
虽然我读了man fcntl
本书,但我不知道它有什么作用.
就像这样:
if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) {
...
虽然我读了man fcntl
本书,但我不知道它有什么作用.
它为文件描述符设置close-on-exec标志,当exec
系列函数中的任何一个函数成功时,这会导致文件描述符自动(和原子)关闭.
它还测试返回值以查看操作是否失败,如果文件描述符有效,这将非常无用,因为在任何情况下,该操作都不会在有效的文件描述符上失败.