您的位置:首页 > 运维架构 > Linux

Linux下获取内核版本号的函数q

2016-12-09 16:20 330 查看
man 2 uname

NAME

       uname - get name and information about current kernel

SYNOPSIS

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

使用方法:

    struct utsname kernel_info;

    int ret = uname(&kernel_info);

    if (ret == 0) {

        printf("release--%s\n", kernel_info.release);

        printf("version--%s\n", kernel_info.version);

        printf("machine--%s\n", kernel_info.machine);

        char kversion[100] = { 0 };

        strncpy(kversion, kernel_info.release, strlen(kernel_info.release));

    } else {

        printf("get kernel version fail: %s\n", strerror(errno));

    }

utsname结构体的定义为

           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 */

           #ifdef _GNU_SOURCE

               char domainname[]; /* NIS or YP domain name */

           #endif

           };

在Andrid手机上输出信息为 

release--4.4.8-perf+

version--#1 SMP PREEMPT Wed Nov 16 22:42:06 CST 2016

machine--aarch64
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内核 linux 函数 版本