whyclxw
2024-04-28 b25b814a949d2065a61fd3167206ffb51a57af65
src/main/java/com/whyc/util/SerialNumberUtil.java
@@ -4,6 +4,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Locale;
import java.util.Scanner;
/**
@@ -17,11 +18,11 @@
    public static String getCPUNumber(){
        String os = System.getProperty("os.name").toLowerCase();
        System.out.println(os);
        //System.out.println(os);
        Process process = null;
        String serial = null;
        if(os.contains("window")) {
            System.out.println("windows");
            //System.out.println("windows");
            try {
                process = Runtime.getRuntime().exec(
                        new String[]{"wmic", "cpu", "get", "ProcessorId"});
@@ -38,7 +39,7 @@
            }
        }else{
            //linux
            System.out.println("linux");
            //System.out.println("linux");
            serial =getSerialNumber("dmidecode -t processor | grep 'ID'", "ID",":");
        }
@@ -46,6 +47,10 @@
    }
    /**
     * 集成在主板Bios上的操作系统UUID
     * @return
     */
    public static String getBoisNumber(){
        String os = System.getProperty("os.name").toLowerCase();
        Process process = null;
@@ -100,7 +105,13 @@
            }
        }else {
            //linux
            serial=getSerialNumber("fdisk -l", "Disk identifier",":");
            //中英文环境下,fdisk命令不同的结果,一个是中文,一个是英文名
            Locale locale = Locale.getDefault();
            if((locale.getLanguage().equals("zh"))){
                serial=getSerialNumber("fdisk -l", "磁盘标识符",":");
            }else{ //不是中文,则采用en_US
                serial=getSerialNumber("fdisk -l", "Disk identifier",":");
            }
        }
        return serial;
    }
@@ -108,7 +119,7 @@
    /**linux*/
    public static String executeLinuxCmd(String cmd)  {
        try {
            System.out.println("got cmd job : " + cmd);
            //System.out.println("got cmd job : " + cmd);
            Runtime run = Runtime.getRuntime();
            Process process;
            process = run.exec(cmd);