LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1044|回复: 6

大家帮手解答在linux下的编程问题

[复制链接]
发表于 2008-2-1 11:25:33 | 显示全部楼层 |阅读模式
请问在linux下怎么读取swap分区剩余空间的大小,还有就是如何读取系统运行时候的各种信息,比如load average这些信息?谢谢大家。
发表于 2008-2-1 12:08:51 | 显示全部楼层
man proc
然后查找 meminfo 和 loadavg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-1 13:07:59 | 显示全部楼层
我的意思是说怎么在C中调用,查看这些信息。而不是直接在linux中查看。谢谢你哦~~~
回复 支持 反对

使用道具 举报

发表于 2008-2-2 08:57:54 | 显示全部楼层
这种情况下可以考虑参考 busybox 的实现. 比如 busybox 的 free 命令是通过 sysinfo() 实现的
回复 支持 反对

使用道具 举报

发表于 2008-2-3 02:37:22 | 显示全部楼层
楼主既然问问题就要对别人的回答认真体会一下。二楼已经告诉你解决这些问题的通用答案了。Linux 关于系统信息的获取是通过 Proc 文件系统获得的。你要知道 swap 的信息,读取 /proc/meminfo  文件就好了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-3 10:26:14 | 显示全部楼层
谢谢大家的帮忙,问题已经解决了。。:)
回复 支持 反对

使用道具 举报

发表于 2008-2-3 12:14:03 | 显示全部楼层
jeff_yecn 兄的话很道理, 不过语气稍微重了一些, 会吓跑新会员的, 呵呵.

jeff_yecn 兄的观点我绝对是赞同的, 作为提问者来说自己的主动探求是很有必要的, 只等待别人来替自己解决问题是对自己不负责任的表现.

但是反过来思考, 参与别人的讨论对自己有没有什么帮助呢? 每次一有人问起如何获取信息时, 至少我个人想到的就只是 "读 /proc/xx 不就好了", 可是在楼主的追问下我查了一下 busybox 的源码才发现原来还有 sysinfo() 这么方便的函数, 尽管它并不能覆盖所有 /proc 的功能, 但是对于我而言这是一种有益的收获.

我比较懒, 常会满足于当前当前的所知, 这种时候只有通过与别人的讨论才能让大家一起获得进步.

不管怎样, 提前祝各位新春愉快, 合家欢乐哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表