• linux struct utsname 结构详解是utsname 函数使用说明


    【uname系统调用】 

    功能描述: 
    获取当前内核名称和其它信息。
    用法: 
    #include <sys/utsname.h>
    extern int uname (struct utsname *__name) __THROW;

    参数: 
    __name:指向存放系统信息的缓冲区,原型如下
    struct utsname
      { char sysname[_UTSNAME_SYSNAME_LENGTH];//当前操作系统名
       char nodename[_UTSNAME_NODENAME_LENGTH];//网络上的名称
       char release[_UTSNAME_RELEASE_LENGTH];//当前发布级别
       char version[_UTSNAME_VERSION_LENGTH];//当前发布版本
       char machine[_UTSNAME_MACHINE_LENGTH];//当前硬件体系类型
    #if _UTSNAME_DOMAIN_LENGTH - 0
        /* Name of the domain of this node on the network.  */
    # ifdef __USE_GNU
        char domainname[_UTSNAME_DOMAIN_LENGTH]; //当前域名
    # else
        char __domainname[_UTSNAME_DOMAIN_LENGTH];
    # endif
    #endif
      };
    返回说明: 
    成功执行时,返回0。失败返回-1,errno被设为EFAULT,表示buf无效。
    关于uname的具体用法可以使用“man uname”来查看。
    实例如下:
    #include <sys/utsname.h>
    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
        struct utsname testbuff;
        int fb=0;

        fb=uname(&testbuff);
        if(fb<0)
        {
            perror("uname");
            return 0;
        }else
        {
            printf(" sysname:%s\n nodename:%s\n release:%s\n version:%s\n machine:%s\n \n ",\
                        testbuff.sysname,\
                        testbuff.nodename,\
                        testbuff.release,\
                        testbuff.version,\
                        testbuff.machine);
    #if _UTSNAME_DOMAIN_LENGTH - 0
    # ifdef __USE_GNU
        printf(" domainame:%s\n ",testbuff.domainname);
        //char domainname[_UTSNAME_DOMAIN_LENGTH]; //当前域名
    # else
        printf(" __domainame:%s\n ",testbuff.__domainname);
        //char __domainname[_UTSNAME_DOMAIN_LENGTH];
    # endif
    #endif

        }
    return 0;
    }
  • 相关阅读:
    redis安装
    VMware安装Centos
    Nacos简单配置
    RAS非对称加密
    uLua Unity工作机制
    一个长期主义者的内与外
    MacOSX 运行Unity卡顿 [gethostname]
    着眼于长远,走的更稳
    物质趋于无穷, 人群趋于发散.符合熵增加的规律
    论PM与团队与敏捷开发
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2039686.html
Copyright © 2020-2023  润新知