当前位置:  技术问答>linux和unix

完成一个用于显示系统配置的程序proc_parse.c,多谢了!

    来源: 互联网  发布时间:2016-07-05

    本文导语:  #include #include int main(int argc, char **argv) {         FILE *fd; int i;         char buffer[128];         if (argc==1)         { . . .                 if ( (fd=fopen("/proc/sys/kernel/osrelease", "r")) == NULL...

#include
#include

int main(int argc, char **argv)
{
        FILE *fd; int i;
        char buffer[128];
        if (argc==1)
        {

. . .

                if ( (fd=fopen("/proc/sys/kernel/osrelease", "r")) == NULL)
                {
                        perror("Error opening /proc/sys/kernel/osrelease");
                        exit(-1);
                }
                fgets(buffer, 32, fd);
                printf("Linux %s", buffer);
                fclose(fd);

                . . . 
        }
        else
        {
                char name[64];
                sprintf(name,"/proc/%s/status", argv[1]);

. . .

                if ( (fd=fopen(name, "r")) == NULL)
                {

. . .
       }
                return 1;
         }
}


四处...是要完成的部分,需要用/proc文件系统,访问/proc中的文件可以用fgets()或者fscanf()等等

要求:
1.输入: ./cpuinfo             输出:CPU型号
2.输入: ./sys/kernel/osrelease        输出:操作系统版本
3.输入: ./meminfo              输出:内存总量,可用内存量
4.输入: ./uptime                     输出:系统启动后到现在的时间,用于空闲进程的时间(均以秒为单位)
5.输入: ./proc_parse           输出:1-4的全部信息
6.输入: ./proc_parse processID      输出:此进程对应的程序的名称,进程状态,父进程ID

例子:

#./proc_parse

CPU model name : Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
Linux 2.6.28-15-server
MemTotal:      8081524 kB
MemFree:       341944 kB
System up time:   1552961.28
System idle time:   1559067.43




#./proc_parse 5882

Name:    zsh
State:    S (sleeping)
PPid:    5234

可能用到的C函数(在stdlib和stdio中):  open(), fclose(), fgets(), fscanf(), sprint(), printf(), perror(), exit()

|
友情帮顶

|
友情 up

|
好难哦  等待大牛来给你解决 不过楼主估计要慢慢等了 呵呵

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 完成一个外壳程序myshell.c,多谢多谢!
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • olap工具软件,主体开发工作已经完成,欠缺web方式交互式的分析数据功能,欲通过java来完成,寻求合作
  • php安装完成后如何添加mysql扩展
  • 未使用链接器输入文件,因为链接尚未完成
  • CentOS下PHP安装完成后继续安装GD扩展库
  • jQuery自动完成插件 jqac
  • 输入框自动完成组件 AutoSuggest
  • 请问如何确认FTP上传完成。谢谢。
  • jQuery输入自动完成 Combogrid
  • jQuery自动完成插件 jQuery.autocomplete
  • 请问BASH如何查询一个程序完成的进度
  • jQuery 自动完成插件 jQuery completer
  • jQuery自动完成插件 Autobox2
  • jQuery自动完成插件 jQuery AutoComplete
  • 在tomcat下,如何记录用户已经关闭浏览器了,并完成处理?
  • 怎样停止一个未完成的I/O操作?
  • 完成一个文件上传需要解决那些问题?
  • 急!急!red hat linux9.0 安装完成不能进入图形界面
  • 求用c语言完成下载文档的cgi
  • fedora9正式版安装完成重启时显示“输入不支援”怎么办?急!
  • 通过rpm完成安装GCC之后 。。。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3