public class ProgramRunningChecker {
public static void main(String[] args) throws IOException {
String programName = "VisualDevicesPlatform"; // 要判断的程序名称或路径
ProcessBuilder processBuilder = new ProcessBuilder("tasklist");
Process process = processBuilder.start();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
boolean isProgramRunning = false;
for (String line; (line = reader.readLine()) != null; ) {
if (line.contains(programName)) {
System.out.println("该程序正在运行!");
isProgramRunning = true;
break;
}
}
if (!isProgramRunning) {
System.out.println("该程序未运行。");
try {
// 指定要运行的.exe文件路径
String exePath = "C:\\Users\\linyang\\Desktop\\sss\\bag\\RunTest\\VMeter\\VisualDevicesPlatform.exe";
// 创建进程并执行命令(隐藏命令行)
Process process1 = Runtime.getRuntime().exec("cmd /b start \"\"" + exePath);
//显示命令行
//Process process2 = Runtime.getRuntime().exec("cmd /c start \"\"" + exePath);
// 等待进程结束
int exitCode = process1.waitFor();
System.out.println(".exe程序已成功启动!");
System.out.println("退出码为:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
process.destroyForcibly();
}
}
}
java判断windows系统中特定程序是否运行,若未运行则自动调用
于 2024-02-29 08:39:09 首次发布