#include <sys/utsname.h>#include <stdio.h>#include <stdlib.h>int main(int argc,char **argv){struct utsname buf;if(uname(&buf)){perror("uname");exit(1);}printf("-------------------------------\n");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);printf("-------------------------------\n");return 0;}
注: struct utsname 是一个系统定义好的结构体,结构体定义如下:
struct utsname{char sysname[]; /* 操作系统名称 (e.g., "Linux") */char nodename[]; /* 当前设备在网络上的名称 (e.g,"localhost.localdomain")*/char release[]; /* 系统发布级别(e.g., "2.6.28") */char version[]; /* 系统发布版本 */char machine[]; /* 当前设备硬件体系(e.g.,"i686") */#ifdef _GNU_SOURCEchar domainname[]; /* NIS或者YP域名 */#endif};
