zoukankan      html  css  js  c++  java
  • Linux练习(获得主机资料)

    #include <sys/utsname.h>
    #include <unistd.h>
    #include <stdio.h>
    int main()
    {
            char computer[256];
            struct utsname uts;
    
            if(gethostname(computer,256)!=0 || uname(&uts)<0)
            {
                    exit(1);
            }
            printf("Computer host name is %s\n",computer);
            printf("System is %s on %s hardware\n",uts.sysname,uts.machine);
            printf("Nodename is %s\n",uts.nodename);
            printf("Version is %s, %s\n",uts.release,uts.version);
            return 0;
    
    }

    函数原型:

    #include <unistd.h>

    int gethostname(char *name,size_t namelen);

    把机器的网络名写到name里,字符串至少有namelen这么长。成功返回0,否则返回-1。

    #include <sys/utsname.h>

    int uname(struct utsname* name);

    把主机资料写到一个由name指向的一个结构体里。

    utsname结构体数据元素:

    char sysname[];操作系统的名字

    char nodename[];主机的名字

    char release[];系统的发行级

    char version[];系统的版本号

    char machine[];硬件类型

    成功返回非负整数,失败返回-1。

    注:

    许可证问题:

    #include <unistd.h>

    long gethostid(void);能返回一个主机独一无二的值,保证软件许可证。

  • 相关阅读:
    MFC CDialog/CDialogEx DoModal ALT
    yum和apt-get用法及区别
    ubuntu 12.04 source.list 源更新
    elasticsearch 优化
    TRIE树
    数据统计经验浅谈
    机器学习
    python 读取libsvm文件
    spark 参数调优
    python中的一些函数
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2677568.html
Copyright © 2011-2022 走看看