uname(系统调用)

原创 2015年11月21日 14:00:04

uname系统调用可用于获取系统信息。例如,内核名字,操作系统的发行级别号,类似于”2.6.28”,操作系统版本号,机器的类型,例如x86或arm。

struct utsname {
    char sysname[];    /* Operating system name (e.g., "Linux")  内核名称*/
    char nodename[];   /* Name within "some implementation-defined network" 网络节点上的主机名*/
    char release[];    /* Operating system release (e.g., "2.6.28") 出内核发行号*/
    char version[];    /* Operating system version 内核版本*/
    char machine[];    /* Hardware identifier 主机的硬件架构名称 */       
};

#include <sys/utsname.h>
int uname(struct utsname *buf);
int olduname(struct xxxutsname *buf);
int oldolduname(struct xxxutsname *buf);

返回值:
成功,返回0,失败返回-1,错误类型在errno中。

有趣的是linux的系统调用中存在3个uname系统调用。
这些系统调用都是用于获取内核信息的。
功能上是存在重复的,但考虑到内核的向后兼容,所以并未删除重复的系统调用。

实例

#include <sys/utsname.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc,char *argv[])
{
         struct utsname buf;
         int rt=0;

         rt=uname(&buf);
         if(rt==-1)
         {
                 printf("ret == -1 \n");
                 exit(1);
         }

         printf("sysname = %s  \n",buf.sysname);
         printf("nodename = %s \n",buf.nodename);
         printf("release = %s  \n",buf.release);
         printf("version = %s  \n",buf.version);
         printf("machine = %s  \n",buf.machine);

         return 0;
}

输出

sysname = Linux
nodename = xxx-laptop
release = 3.19.0-33-generic
version =#38~14.04.1-Ubuntu SMP Fri Nov 6 18:17:49 UTC 2015
machine = i686
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux系统调用分析

  • 2013-12-24 01:11
  • 114KB
  • 下载

linux中添加系统调用

  • 2013-11-25 15:16
  • 1.36MB
  • 下载

uname命令获取Linux系统详情

熟悉图形化操作系统的人通常都会使用鼠标来查看系统的信息,而使用图形的Linux系统中,当你在控制台模式下,无法通过“鼠标右键 >于”获取操作系统的信息。这时,在Linux下,你可以使用uname命令,...

深蓝系统调用代码

arm linux系统调用分析

  • 2012-11-10 21:45
  • 134KB
  • 下载

Linux下系统信息查询 -- uname命令

一、获取uname的使用方法和命令参数 [root@CentOS-78 covers]# uname -help uname: invalid option -- 'h' Try `uname ...

linux系统调用过程分析

  • 2012-09-02 00:48
  • 110KB
  • 下载

uname获取系统信息

【uname系统调用】 功能描述: 获取当前内核名称和其它信息。 用法: #include /* Put information about the system in NAME. */ ...

linux系统调用

  • 2012-05-10 09:28
  • 492KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)