c - 在 C (linux) 中使用 popen 时出现权限问题

标签 c linux permissions

我正在尝试使用 popen 以 -r--r--r-- 1 root root 0 权限访问 /proc/net/dev 文件。代码如下:

main(){
FILE *f;
f=popen("/proc/net/dev","r");
pclose(f);}

以 root 身份登录,编译并运行程序后,我得到:

sh: /proc/net/dev: Permission denied.

你能帮我解决这个问题吗? 谢谢

最佳答案

我认为您看错了,popen 是从应用程序打开管道。 /proc/net/dev 不是应用程序而是文件。请尝试查看 fopen。

f=fopen("/proc/net/dev", "r");
fclose(f);

关于c - 在 C (linux) 中使用 popen 时出现权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406243/

相关文章:

linux - 如何使用 Ansible 添加 PPA 存储库?

c - 使用 select 检测服务器套接字关闭

objective-c - iPad 游戏 : is Objective-C too slow (vs. 纯 C)?

c - 我收到错误 undefined reference to `PKCS5_PBKDF2_HMAC_SHA1' 。我如何解决它?

c# - 适用于 Mac 或 Linux 的 .NET 反编译器

linux - 从 coreos 上的 kubernetes 调用 rbd (docker) 返回 fork/exec 无效参数

shell - 递归检查具有可执行位设置的文件

azure - 是否缺少此 Terraform 代码权限或 Azure 帐户(附加错误)以及如何修复它?

python - sqlalchemy psycopg2.errors.InsufficientPrivilege : permission denied for relation <<table>>

ios - float 的不精确性