在linux系统中,我们可以使用uname()获取当前操作系统的相关信息,比如操作系统内核的名称、信息等。我们在终端命令行中输入“man 2 uname”即可获取uname()的详细信息,如下图所示。
从上图可以知道,使用uname需要包含头文件"#include <sys/utsname.h>"
uname的原型是:int uname(struct utsname *buf);
参数buf:这是个struct utsname结构体类型的指针,它指向的一个struct utsname结构体类型对象。
返回值:成功返回0,失败则返回-1。获取到的信息会保存在buf中,我们可以打印buf的成员变量来查看相关的信息。
最后再看看struct 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 /
#ifdef _GNU_SOURCE
char domainname[]; / NIS or YP domain name */
#endif
};
需要查看哪个成员变量的信息,只需在调用uname之后将其打印出来即可。