在linux 系统中,有时想获取到主机相关信息,系统提供了相关API 的调用,查询man 手册,可以使用如下两API 获取系统主机相关信息gethostname()和uname();
下面用这两个API 获取相关主机信息
#include<stdlib.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/utsname.h>
#include<stdio.h>
int main()
{
char computer[256];
struct utsname ust;
if(gethostname(computer,255)!=0||uname(&ust)<0)
{
printf("could no get info\n");
exit(0);
}
printf("mycomputer info is %s\n",computer);
printf("system is %s on %s hardware\n",ust.sysname,ust.machine);
printf("Nodname is %s\n",ust.nodename);
printf("version is %s %s\n",ust.release,ust.version);
exit(0);
}
编译执行结果如下:
[zdg@localhost computer_info]$ ./computer_info
mycomputer info is localhost.localdomain
system is Linux on x86_64 hardware
Nodname is localhost.localdomain
version is 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013