uname(系统调用)
来源:互联网 发布:java double e 表示 编辑:程序博客网 时间:2024/04/29 11:31
uname系统调用可用于获取系统信息。例如,内核名字,操作系统的发行级别号,类似于”2.6.28”,操作系统版本号,机器的类型,例如x86或arm。
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 主机的硬件架构名称 */ };#include <sys/utsname.h>int uname(struct utsname *buf);int olduname(struct xxxutsname *buf);int oldolduname(struct xxxutsname *buf);返回值:成功,返回0,失败返回-1,错误类型在errno中。有趣的是linux的系统调用中存在3个uname系统调用。这些系统调用都是用于获取内核信息的。功能上是存在重复的,但考虑到内核的向后兼容,所以并未删除重复的系统调用。
实例
#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;}
输出
sysname = Linuxnodename = xxx-laptoprelease = 3.19.0-33-genericversion =#38~14.04.1-Ubuntu SMP Fri Nov 6 18:17:49 UTC 2015machine = i686
0 0
- uname(系统调用)
- linux uname系统调用
- uname系统调用
- 显示系统信息uname
- uname获取系统信息
- uname查看系统信息
- 查看系统信息命令:uname
- Linux系统uname命令介绍
- 收集系统信息(hostname、uname)
- Linux uname --打印系统信息
- uname
- uname
- uname
- uname
- uname()
- uname
- Uname
- uname
- How to configuration physical dataguard within an Exadata?
- css优先级和权重
- Android多线程应用之-加载图片列表
- Oracle表管理
- java小练习-去除ArrayList集合中的重复元素
- uname(系统调用)
- 工作流模式的学习与总结
- 27.iOS中最重要的视图UITableView表视图第二章
- poj 3308 Paratroopers(网络流 最小割 dinic模板)
- XCode快捷键
- 优秀功能收集
- git 命令
- 项目管理和缺陷跟踪工具-Redmine安装部署(一)
- hdoj 母牛的故事