jarName 为自己的正在运行的jar包的名称
public static String getJarProcessId(String jarName){
String processId = "";
try {
// 使用 wmic 命令获取进程列表
Process process = Runtime.getRuntime().exec("wmic process where (name like '%java%' and CommandLine like '%" + jarName + "%') get ProcessId");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
// 跳过前两行(标题和空行)
reader.readLine();
reader.readLine();
// 循环读取 wmic 输出的每一行
while ((line = reader.readLine()) != null) {
processId = line.trim();
break;
}
reader.close();
process.destroy();
} catch (IOException e) {
e.printStackTrace();
}
return processId;
}