介绍一下Linux系统中一些自带信息的获取操作等,首先从源码中找到系统信息结构体进行分析。

1、系统信息结构体说明与获取方法:

含义:

struct sysinfo {

long uptime;          /* 启动到现在经过的时间 */

unsigned long loads[3];

/* 1, 5, and 15 minute load averages */

unsigned long totalram;  /* 总的可用的内存大小 */

unsigned long freeram;   /* 还未被使用的内存大小 */

unsigned long sharedram; /* 共享的存储器的大小*/

unsigned long bufferram; /* 共享的存储器的大小 */

unsigned long totalswap; /* 交换区大小 */

unsigned long freeswap;  /* 还可用的交换区大小 */

unsigned short procs;    /* 当前进程数目 */

unsigned long totalhigh; /* 总的高内存大小 */

unsigned long freehigh;  /* 可用的高内存大小 */

unsigned int mem_unit;   /* 以字节为单位的内存大小 */

char _f[20-2*sizeof(long)-sizeof(int)];

/* libc5的补丁

};

获取方法:

struct sysinfo s_info;//系统信息结构体

memset(&s_info, 0, sizeof(s_info));

sysinfo(&s_info);//获取系统信息

2、文件查询access函数

定义:

int access(const char * pathname, int mode);

函数说明:

access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。

使用方法:

if(access("/var/run/wpa_supplicant/wlan0", 0) == 0)//查询是否存在一个可读文件

3、main函数带进来的参数说明:

argc是命令行总的参数个数

argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如:

int  main(int argc,  char* argv[])

{

int   i;

for (i = 0; i<argc; i++)

cout<<argv[i]<<endl;

cin>>i;

return   0;

}

执行时敲入

F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXE   aaaa   bbb   ccc   ddd

输出如下:

F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXE

aaaa

bbb

ccc

ddd

Linux之系统信息操作20170330的更多相关文章

  1. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  2. [转]linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  3. Linux 图形化操作

    //Linux图形化操作 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

  4. linux查看系统信息命令

    本文转载自江一<linux查看系统信息命令> # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /p ...

  5. linux 查看系统信息命令(比较全)

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  6. linux shell 字符串操作(长度,查找,替换)详解

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  7. linux C 数组操作

    /****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇 ...

  8. Linux应用层直接操作GPIO

    Linux应用层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Inter ...

  9. linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

随机推荐

  1. k8s zookeeper、kafka部署

    安装zookeeper apiVersion: v1 kind: ConfigMap metadata: name: zookeeper-config namespace: kube-system a ...

  2. eBay报告:德国或将成为外贸电商热门市场

    [亿邦动力网讯]1月3日消息,日前,跨境电商平台eBay发布公告称,自2014年1月中旬起,卖家在eBay德国 ( eBay.de ).eBay 奥地利 ( eBay.at ) 或eBay瑞士 ( e ...

  3. Centos上搭建git服务

    1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...

  4. "Hello World!"团队第十次会议

    Scrum会议 今天是我们"Hello World!"团队第十次召开会议,博客内容是: 1.会议时间 2.会议成员 3.会议地点 4.会议内容 5.todo list 6.会议照片 ...

  5. Python语言基础

    一.Python简介 Python是跨平台动态语言 特点:优雅.明确.简单 适用:web网站和网络服务:系统工具和脚步:包装其他语言开发的模块 不适用:贴近硬件(首选C):移动开发:IOS/Andro ...

  6. HDU 1121 Complete the Sequence 差分

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1121 Complete the Sequence Time Limit: 3000/1000 MS ...

  7. Windows Forms编程实战学习:第三章 菜单

    第三章 菜单 1,控件和容器 所有的Windows Forms控件都是从System.Windows.Forms.Control类继承的,相关类的层次结构如下图所示: MarshalByRefObje ...

  8. springmvc值传递

    1.页面向后台传值 A.HttpServletRequest方式: package com.rong.controller; import javax.annotation.Resource; imp ...

  9. QUdpSocket-Qt使用Udp通讯实现服务端和客户端

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QUdpSocket-Qt使用Udp通讯实现服务端和客户端     本文地址:https:// ...

  10. 【第二周】scrum站立会议

    1.站立会议:敏捷软件开发方法论Scrum的相关技术之一,是scrum的最佳实践 2.具体形式:每天的同一时间让团队成员面对面站立交流工作进展 3.功能: (1)让团队所有人都相互知道彼此的进展,了解 ...