【第22期】观点:IT 行业加班,到底有没有价值?

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
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

uname系统调用

【uname系统调用】  功能描述:  获取当前内核名称和其它信息。 用法:  #include extern int uname (struct utsname *__name) _...

linux 系统资源的查看(free、uname、uptime、netstat)

linux 系统资源的查看 转载请出自出处:http://eksliang.iteye.com/blog/2167081   http://eksliang.iteye.com 一、free查看内存的使用情况 语法如下: <p style="padd

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Linux 0.11 系统调用的实现机制

Linux 0.11 系统调用的实现机制 一、系统调用概述     系统调用本质上是一种中断,中断号为0x80,即128号中断。通常我们使用的是库函数,而不是直接使用系统调用,这主要是因为库函数一般都...

uname 命令详解

Usage: uname [OPTION]... Print certain system information. With no OPTION, same as -s. -a, --all print all information, in the followi...

Linux系统下的uname命令

uname 命令可用于大多数 UNIX 和类 UNIX 系统以及 Linux。 功能说明:uname用来获取电脑和操作系统的相关信息。 语  法: uname [-amnrsvpio][--help][--version] 补充说明:uname可显示linux主机所用的操作系统的版
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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