gpt4 book ai didi

c++ - 从 utsname 中找出 Linux 操作系统名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:05 28 4
gpt4 key购买 nike

我正在尝试从 C++ 代码中获取 Linux 操作系统名称(例如“Ubuntu 16.04”、“Ubuntu 14.04”等)。我开始了解 utsname 并尝试使用它。但是结构字段 sysname、release、version 等中的值描述性太强,我想要一些简单的东西(比如“Ubuntu 16.04”、“Ubuntu 14.04”等)。是否有一些可用的文档将 utsname 结构中的值映射到一些简单的名称?

utsname 结构字段的值:

sysname: Linux
nodename: ubuntu16-server
release: 4.4.0-130-generic
version: #156-Ubuntu SMP Thu Jul 29 23:11:20 UTC 2017
machine: x86_64

最佳答案

在终端中尝试这个命令:

    cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

或者这个:

    cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

我不知道你在什么编程环境下编写代码..所以你可能需要一个进程来执行并返回终端命令,然后你需要解析输出。 (如果需要,也可以在终端中使用 cat 命令进行解析)

关于c++ - 从 utsname 中找出 Linux 操作系统名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52512515/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com