首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux/kernel.h中的sysinfo结构

linux/kernel.h中的sysinfo结构
EN

Stack Overflow用户
提问于 2012-03-06 03:28:51
回答 2查看 4K关注 0票数 5

我在窥探各种内核头文件时,偶然发现了<linux/kernel.h>。它的内部是一个叫做sysinfo的结构。

我试着开箱即用,可以这么说,结构中的所有值都返回0。我猜我需要使用上面称为do_sysinfo(struct sysinfo *info)的poplating函数。

问题是我找不到任何关于如何使用它的信息。我尝试了开箱即用的函数,但它失败了,因为它无法链接。有没有人知道如何使用它或者为什么它失败了?我是这方面的新手。想要任何链接到好的指南/信息,如果你有他们,那就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-06 03:50:11

我猜您尝试从用户空间调用该函数。这是不可能,因为标头只供内核使用,除了“共享”的结构sysinfo。

您可能希望通过包含sys/sysinfo.h来使用系统调用int sysinfo(struct sysinfo *info),以便填充struct sysinfo

票数 5
EN

Stack Overflow用户

发布于 2012-03-06 03:53:53

do_sysinfo是内核端实现;它不能从用户端访问。不过,sysinfo系统调用是可访问的;它填充了结构:

代码语言:javascript
复制
#include <sys/sysinfo.h>

...

struct sysinfo info;
sysinfo(&info);

请注意,通过解析/proc中的文件(例如,/proc/uptime/proc/cpuinfo/proc/meminfo)可以获得更多的信息。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9572680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档