package com.se.system.service.impl;
|
|
import com.se.system.service.inte.IAServerInfoService;
|
|
import java.io.BufferedReader;
|
import java.io.IOException;
|
import java.io.InputStreamReader;
|
|
@SuppressWarnings("ALL")
|
public class LinuxServerInfoService extends IAServerInfoService {
|
public LinuxServerInfoService() {
|
}
|
|
private final String[] CPU_SHELL = {"/bin/bash", "-c", "dmidecode -t processor | grep 'ID' | awk -F ':' '{print $2}' | head -n 1"};
|
|
private final String[] MAIN_BOARD_SHELL = {"/bin/bash", "-c", "dmidecode | grep 'Serial Number' | awk -F ':' '{print $2}' | head -n 1"};
|
|
@Override
|
protected String getCPUSerial() throws Exception {
|
String result = "";
|
String CPU_ID_CMD = "dmidecode";
|
BufferedReader bufferedReader = null;
|
Process p = null;
|
try {
|
p = Runtime.getRuntime().exec(new String[]{"sh", "-c", CPU_ID_CMD});
|
bufferedReader = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
String line = null;
|
int index = -1;
|
while ((line = bufferedReader.readLine()) != null) {
|
// 寻找标示字符串[hwaddr]
|
index = line.toLowerCase().indexOf("uuid");
|
if (index >= 0) {
|
// 取出mac地址并去除2边空格
|
result = line.substring(index + "uuid".length() + 1).trim();
|
break;
|
}
|
}
|
} catch (IOException e) {
|
System.out.println("获取cpu硬件信息失败 " + e);
|
}
|
return result.trim();
|
}
|
|
@Override
|
protected String getMainBoardSerial() throws Exception {
|
String result = "";
|
String maniBord_cmd = "dmidecode | grep 'Serial Number' | awk '{print $3}' | tail -1";
|
Process p;
|
try {
|
p = Runtime.getRuntime().exec(new String[]{"sh", "-c", maniBord_cmd});
|
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
|
String line;
|
while ((line = br.readLine()) != null) {
|
result += line;
|
break;
|
}
|
br.close();
|
} catch (IOException e) {
|
System.out.println("获取主板信息错误" + e);
|
}
|
return result;
|
}
|
}
|