我正在尝试使用/proc/net/dev
以-r--r--r-- 1 root root 0
权限访问popen
个文件。代码如下:
main(){
FILE *f;
f=popen("/proc/net/dev","r");
pclose(f);}
在编译后以root身份登录运行程序,我明白了:
sh:/ proc / net / dev:权限被拒绝。
你能帮助我解决这个问题吗? 谢谢
答案 0 :(得分:3)
我认为你正在以错误的方式看待它,popen是从应用程序打开一个管道。 /proc/net/dev
不是应用程序,而是文件。试着看看fopen。
f=fopen("/proc/net/dev", "r");
fclose(f);
答案 1 :(得分:1)
popen()
用于打开到另一个进程的管道,提供的路径必须是可执行文件,而不是设备条目。您可能需要open()
或fopen()
。
答案 2 :(得分:0)
使用read;更多信息类型man在终端读取