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

来源:互联网 发布:淘宝儿童滑板车 编辑:程序博客网 时间:2024/05/17 20:23

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


0 0
原创粉丝点击