• 全部
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
  • 问答

碰到了一群极度郁闷的问题,请高手指定迷津(对系统底层api熟悉的近来看看...)

dchg2000 2003-12-17 10:29:39
怎么用函数得到下列参数值,大家给我想想法子呀,
提供思路也行,发言就给分,解决问题者尽管向我要分...
1主机名
2主机进程数
3主机的僵死进程数
4主机CPU信息
5主机内存大小
6主机硬盘大小
7主机操作系统信息
8主机CPU使用率
9主机内存使用率
10主机可用硬盘空间
11主机IP地址
12主机网卡MAC地址
13主机DNS
14主机路由
15主机子网掩码
16.....
反正就是主机所有的系统,网络,系统服务的开启状态的函数,
查什么资料可以找得到也行?!
...全文
5 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lasmobra 2003-12-19
就再程序中读proc不就行了么,要函数做什么呢?不就读文件么...
要不写shell脚本也行呀,用相应函数去取得结果分析
回复
金来 2003-12-19
6主机硬盘大小 df -P 然后自己加加

我没写过这样的程序,不过我有个建议,设置一个环境变量,每次换一个环境,到当前的.profile下去设置路径,具体我就不用说了吧
回复
bnwxf 2003-12-18
一个很土的办法,用popen来打开一个管道,执行sh命令,再从管道读输入。
man popen :)

你的函数只要把相应的命令包装一下就可以了。比如ifconfig -a就可以拿到很多网络相关的参数。
回复
CoolQ 2003-12-18
大部分东西都能在/proc中找到相应的条目
回复
fierygnu 2003-12-18
1主机名 gethostname()
2主机进程数 /proc下计数
3主机的僵死进程数 遍历/proc下进程的状态
4主机CPU信息 /proc下有
5主机内存大小 同上
6主机硬盘大小 不清楚
7主机操作系统信息 uname()
8主机CPU使用率 /proc
9主机内存使用率 /proc
10主机可用硬盘空间 没意义,应该是文件系统空间。用statvfs或statfs
11主机IP地址 gethostbyname()
12主机网卡MAC地址 ioctl()
13主机DNS resolver库接口
14主机路由 sysctl()
15主机子网掩码 ioctl()
大概是这样,没去求证。
回复
longenic 2003-12-18
你说的大部分信息都保存在结构体里,具体是哪个结构体就不太清楚了,你查一下<UNIX环境高级编程>吧
回复
lu-ping 2003-12-18
同意,读取/proc下有关文件
回复
dchg2000 2003-12-18
大家继续给我想法子呀!
回复
fierygnu 2003-12-18
可移植的方法目前没有。
回复
dchg2000 2003-12-18
我想说一下:
/proc 下我也看过,
的确有
但怎么得到呢(我要的是函数),
难道要用读写该文件的方法吗?
但会不会有移植性问题呀,(我是说其他LINUX或UNIX也是这样的位置吗?)
我希望有可移植的函数来实现!
不过大家的热情我是感动的,已经给我很多启迪了
回复
dchg2000 2003-12-17
大家帮帮我,肯定给分,
我要的是函数,因为我要在程序中调用这些函数来获取相应的值,
然后再传给服务器,
类似SNMP网络管理系统
回复
相关推荐
发帖
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2003-12-17 10:29
社区公告
暂无公告