Java获取程序的PID、执行cmd命令:
//获取当前程序的PID
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
String name = runtime.getName();
int pid name.substring(0, name.indexOf("@"));
//停止杀死pid
String[] cmd = {"cmd.exe","/c","taskkill -f /pid " + pid};
Runtime rt = Runtime.getRuntime();
rt.exec(cmd,null,new File(new File("").getCanonicalPath())).waitFor();
cmd窗口中获取端口的进程,杀死进程:
//cmd杀死端口18183的pid
netstat -ano|findstr 18183
taskkill -f /pid 30540
上述cmd.exe /C为执行cmd命令后关闭窗口(close),/K为keep保持窗口。
start %CD%\JRE\BIN\java -jar app.jar 使用start会单独打开的cmd窗口。
String[] cmd = {"cmd.exe","/k","start app.exe"}; 可以启动一个app的软件。