我在/proc
名为“test”的文件中创建了一个文件(它是在内核中创建的)。该文件存在。当我想在用户级别打开它时,它返回负数。
int fd;
if((fd=open("/proc/test","O_RDONLY"))<0){
perror("open");
}
我看到的错误是open: File exists
. 我见过这个问题,但这不是我的情况。
您需要在其中使用括号(现在在问题中已修复),并且第二个参数open()
不是字符串:
#include <fcntl.h>
int fd;
if ((fd = open("/proc/test", O_RDONLY)) < 0)
perror("open");
我不相信在/proc
文件系统中创建任何类型的文件是个好主意。事实上,我有点惊讶你被允许这样做。如果你正在学习编程root
,我希望你有很好的备份。