#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/utsname.h>
#include <stdlib.h>
#include <string.h>
int main()
{
struct utsname uts;
char hn[256];//hostname
if(uname(&uts)<0)
{
perror("get utsname failed");
exit(EXIT_FAILURE);
}
printf("Machine:%s\n",uts.machine);
printf("System name: %s\n",uts.sysname);
printf("Version: %s\n",uts.version);
printf("Release: %s\n",uts.release);
printf("Node Name: %s\n",uts.nodename);
if(gethostname(hn,255))
{
perror("get host name failed");
exit(EXIT_FAILURE);
}
printf("Host Name: %s\n",hn);
printf("Host ID: %ld\n",gethostid());
exit(EXIT_SUCCESS);
}