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