碰到了一群极度郁闷的问题,请高手指定迷津(对系统底层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.....
反正就是主机所有的系统,网络,系统服务的开启状态的函数,
查什么资料可以找得到也行?!
...全文
45 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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环境高级编程>吧
DanXer 2003-12-18
  • 打赏
  • 举报
回复
同意,读取/proc下有关文件
dchg2000 2003-12-18
  • 打赏
  • 举报
回复
大家继续给我想法子呀!
fierygnu 2003-12-18
  • 打赏
  • 举报
回复
可移植的方法目前没有。
dchg2000 2003-12-18
  • 打赏
  • 举报
回复
我想说一下:
/proc 下我也看过,
的确有
但怎么得到呢(我要的是函数),
难道要用读写该文件的方法吗?
但会不会有移植性问题呀,(我是说其他LINUX或UNIX也是这样的位置吗?)
我希望有可移植的函数来实现!
不过大家的热情我是感动的,已经给我很多启迪了
dchg2000 2003-12-17
  • 打赏
  • 举报
回复
大家帮帮我,肯定给分,
我要的是函数,因为我要在程序中调用这些函数来获取相应的值,
然后再传给服务器,
类似SNMP网络管理系统

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧