unix环境编程 第六章 6.9系统标识

uname函数返回与主机和操作系统有关的信息

#include <sys/utsname.h>
int uname(struct utsname *buf);//成功返回非负值,失败返回-1

通过该函数的参数向其传递一个utsname结构的地址,然后该函数填写此结构。

struct utsname {
    char sysname[];    /* Operating system name (e.g., "Linux")  内核名称*/
    char nodename[];   /* Name within "some implementation-defined network" 网络节点上的主机名*/
    char release[];    /* Operating system release (e.g., "2.6.28") 出内核发行号*/
    char version[];    /* Operating system version 内核版本*/
    char machine[];    /* Hardware identifier 主机的硬件架构名称 */       
};

example:
 

#include <sys/utsname.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc,char *argv[])
{
         struct utsname buf;
         int rt=0;

         rt=uname(&buf);
         if(rt==-1)
         {
                 printf("ret == -1 \n");
                 exit(1);
         }

         printf("sysname = %s  \n",buf.sysname);
         printf("nodename = %s \n",buf.nodename);
         printf("release = %s  \n",buf.release);
         printf("version = %s  \n",buf.version);
         printf("machine = %s  \n",buf.machine);

         return 0;
}

运行情况:

 下面的函数用来显示TCP/IP协议上主机的名字

#include <unistd.h>
int gethostname(char* name,int namelen);
//成功返回0,失败返回-1

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

以上内容来源于网络,仅作本人学习笔记使用,关于本书请参APUE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值