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

#include <sys/utsname.h>

int uname(struct utsname *name);

通过该函数的参数向其传递一个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
};

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

#include <unistd.h>

int gethostname(char *name, int namelen);

如果宿主连接到TCP/IP网络中,则此主机名通常是该主机的完整域名。

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

results matching ""

    No results matching ""