• 系统数据文件和信息之系统标识


    POSIX.1定义了uname函数,它返回与当前主机和操作系统有关的信息。

    #include <sys/utsname.h>
    int uname( struct utsname *name );
    返回值:若成功则返回非负值,若出错则返回-1

    通过该函数的参数向其传递一个utsname结构的地址,然后该函数填写此结构。POSIX.1只定义了该结构中至少需要提供的字段(它们都是字符数组),而每个数组的长度则由实现确定。某些实现在该结构中提供了另外一些字段。

    struct utsname {
        char    sysname[];    /* name of the operating system */
        char    nodename[];    /* name of this node */
        char     release[];        /* current release of operating system */
        char     version[];        /* current version of this release */
        char    machine[];    /* name of hardware type */
    };

    每个字符串都以null字符结尾。utsname结构中的信息通常可以用uname(1)命令打印。

    历史上,BSD派生的系统提供了gethostname函数,它只返回主机名,该名字通常就是TCP/IP网络主机上的名字。

    #include <unistd.h>
    int gethostname( char *name, int namelen );
    返回值:若成功则返回0,若出错则返回-1

    namelen参数指定name缓冲区长度,如若提供足够的空间,则通过name返回的字符串以null结尾。如若没有提供足够的空间,则没有指定通过name返回的字符是否以null结尾。

    现在,gethostname函数已定义为POSIX.1的一部分,它指定最大主机名长度是HOST_NAME_MAX。

    hostname(1)命令可用来获取和设置主机名。

    本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/

  • 相关阅读:
    数据分析人员常犯的五大错误以及预防方法
    SAS中的Order By - Proc Sort
    SAS中的Order By - Proc Sort
    安全数据分析理念的变化
    安全数据分析理念的变化
    spss如何选择需要的变量?
    更改VS2010的[默认开发语言]
    POJ 1273 Drainage Ditches (网络最大流)
    HLS图像处理系列——肤色检測
    并发问题:大数据量的訪问
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3507596.html
Copyright © 2020-2023  润新知