// 获得CPU ID
public static final String CPU_ID_CMD = "dmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}'";
// 获得磁盘ID
public static final String DISK_ID_CMD = "fdisk -l |grep \"Disk identifier\" |awk {'print $3'}";
/**
* 获得CPU ID
*
* @return info[0]
* @throws SigarException
*/
public static String getCpuId() throws SigarException, IOException, InterruptedException {
StringBuffer buffer = new StringBuffer();
CMDUtils.runCMD(CPU_ID_CMD, buffer, null);
String[] info = buffer.toString().trim().split("\n");
if (info != null && info.length > 0) {
return info[0];
}
return null;
}
/**
* 仅获得第一块磁盘的ID
*
* @return info[0]
* @throws IOException
* @throws InterruptedException
*/
public static String getDiskId() throws IOException, InterruptedException {
StringBuffer buffer = new StringBuffer();
CMDUtils.runCMD(DISK_ID_CMD, buffer, null);
String[] info = buffer.toString().trim().split("\n");
if (info != null && info.length > 0) {
return info[0];
}
return null;
}
/**
* 获得网卡的MAC地址
*
* @return macAddr
* @throws SigarException
*/
public static String getMacAddress() throws SigarException {
NetInterfaceConfig nic = sigar.getNetInterfaceConfig();
String macAddr = nic.getHwaddr();
if (macAddr != null && !macAddr.isEmpty()) {
return macAddr;
}
return null;
}