我正在开发一个 linux C 项目,但在使用文件描述符时遇到了问题。
我有一个具有只写权限的孤立文件描述符(文件是 open()'d 然后 unlink()'d 但 fd 仍然很好)。原始备份文件具有完全权限(使用 S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH 创建),但可惜文件是使用 O_WRONLY 打开的。是否可以复制文件描述符并将副本更改为 O_RDWR?
伪代码:
//open orphan file
int fd = open(fname, O_WRONLY, ...)
unlink(fname)
//fd is still good, but I can't read from it
//...
//I want to be able to read from orphan file
int fd2 = dup(fd)
//----change fd2 to read/write???----
提前致谢!-安德鲁