java - 我如何使用 Java 在 Linux 中找到计算机类型?

标签 java linux

如何使用 Java 在 Linux 中查找计算机类型? 我需要查明设备是笔记本电脑/台式机/服务器/虚拟机。

如果是VMWare,我设法查明这台电脑是不是虚拟机。

Process virtual = Runtime.getRuntime().exec("sudo dmidecode -s system-manufacturer");
                BufferedReader virmar = new BufferedReader(
                        new InputStreamReader(virtual.getInputStream()));
                String s11;
                while ((s11 = virmar.readLine()) != null) {
                    virtualm = s11;
                    vmName = virtualm; 
                    if (s11.contains("VMware")) {
                        virtualma = "1";
                    } else {
                        virtualma = "";
                    }
            }

最佳答案

dmidecode 有 chassis-type 来指定此信息:

sudo dmidecode --string chassis-type

在我的两个系统上,它返回 Mini TowerSpace-saving

微软 documents the known chassis types .

关于java - 我如何使用 Java 在 Linux 中找到计算机类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774729/

相关文章:

java - Spring 数据: MongoDB: Aggregation: group by nested object

linux - 允许 Nagios 报告其他两台 Linux 机器之间的 ping 的 Bash 脚本

在 C 中将 char* 转换为 uint16_t

linux - 删除包含多个单词的行

linux - bash 在 tetx 文件中替换\with/in

java - 为什么我的方法会覆盖数组中的位置

java - 创建 Android 内容提供者的更好方法

c# - 在 C# 中行走 ANTLR AST 的教程?

java - 如何在按下键盘按钮时执行一项操作而不是循环

linux - 如何在特定行之后使用 sed 每隔一行打印一次