|
@@ -242,30 +242,60 @@ public class SerialNumberUtil {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ */
|
|
|
+ /**
|
|
|
+ * @param cmd 命令语句
|
|
|
+ * @param record 要查看的字段
|
|
|
+ * @param symbol 分隔符
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static List<String> getSerialNumberLists(String cmd, String record, String symbol) {
|
|
|
+ String execResult = executeLinuxCmd(cmd);
|
|
|
+ String[] infos = execResult.split("\n");
|
|
|
+ List<String> cpuIds = new ArrayList<String>();
|
|
|
+ for (String info : infos) {
|
|
|
+ info = info.trim();
|
|
|
+ if (info.indexOf(record) != -1) {
|
|
|
+ info.replace(" ", "");
|
|
|
+ String[] sn = info.split(symbol);
|
|
|
+ for (int i = 0; i < sn.length; i++) {// 不管是单块CPU还是多CPU都适用
|
|
|
+ String cpuId = sn[i];
|
|
|
+ cpuIds.add(cpuId);
|
|
|
+ System.out.println("第" + (i + 1) + "块CPU信息" + cpuId);
|
|
|
+ }
|
|
|
+ return cpuIds;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取CPUID、硬盘序列号、MAC地址、主板序列号
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public static Map<String, String> getAllSn() {
|
|
|
+ public static Map<String, List<String>> getAllSn() {
|
|
|
String os = System.getProperty("os.name");
|
|
|
- Map<String, String> snVo = new HashMap<String, String>();
|
|
|
+ Map<String, List<String>> snVo = new HashMap<String, List<String>>();
|
|
|
|
|
|
if ("LINUX".equals(os)) {
|
|
|
System.out.println("=============>for linux");
|
|
|
- String cpuid = getSerialNumber("dmidecode -t processor | grep 'ID'", "ID", ":");
|
|
|
+ List<String> cpuid = getSerialNumberLists("dmidecode -t processor | grep 'ID'", "ID", ":");
|
|
|
System.out.println("cpuid : " + cpuid);
|
|
|
- String mainboardNumber = getSerialNumber("dmidecode |grep 'Serial Number'", "Serial Number", ":");
|
|
|
+ List<String> mainboardNumber = getSerialNumberLists("dmidecode |grep 'Serial Number'", "Serial Number", ":");
|
|
|
System.out.println("mainboardNumber : " + mainboardNumber);
|
|
|
- String diskNumber = getSerialNumber("fdisk -l", "Disk identifier", ":");
|
|
|
+ List<String> diskNumber = getSerialNumberLists("fdisk -l", "Disk identifier", ":");
|
|
|
System.out.println("diskNumber : " + diskNumber);
|
|
|
- String mac = getSerialNumber("ifconfig -a", "ether", " ");
|
|
|
- snVo.put("cpuid", cpuid.toUpperCase().replace(" ", ""));
|
|
|
- snVo.put("diskid", diskNumber.toUpperCase().replace(" ", ""));
|
|
|
- snVo.put("mac", mac.toUpperCase().replace(" ", ""));
|
|
|
- snVo.put("mainboard", mainboardNumber.toUpperCase().replace(" ", ""));
|
|
|
+ List<String> mac = getSerialNumberLists("ifconfig -a", "ether", " ");
|
|
|
+ snVo.put("cpuid", cpuid);
|
|
|
+ snVo.put("diskid", diskNumber);
|
|
|
+ snVo.put("mac", mac);
|
|
|
+ snVo.put("mainboard", mainboardNumber);
|
|
|
} else {
|
|
|
- System.out.println("=============>for windows");
|
|
|
+ /* System.out.println("=============>for windows");
|
|
|
String cpuid = SerialNumberUtil.getCPUSerial();
|
|
|
String mainboard = SerialNumberUtil.getMotherboardSN();
|
|
|
String disk = SerialNumberUtil.getHardDiskSN();
|
|
@@ -279,7 +309,7 @@ public class SerialNumberUtil {
|
|
|
snVo.put("cpuid", cpuid.toUpperCase().replace(" ", ""));
|
|
|
snVo.put("diskid", disk.toUpperCase().replace(" ", ""));
|
|
|
snVo.put("mac", mac.toUpperCase().replace(" ", ""));
|
|
|
- snVo.put("mainboard", mainboard.toUpperCase().replace(" ", ""));
|
|
|
+ snVo.put("mainboard", mainboard.toUpperCase().replace(" ", ""));*/
|
|
|
}
|
|
|
|
|
|
return snVo;
|