package org.luairan; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException, InterruptedException { Thread.sleep(5000L); Runtime run = Runtime.getRuntime(); Process p = run.exec("jps -l");// 启动另一个进程来执行命令 BufferedInputStream in = new BufferedInputStream(p.getInputStream()); BufferedReader inBr = new BufferedReader(new InputStreamReader(in)); String pid = null; boolean getTomcatPid = false; String lineStr; while ((lineStr = inBr.readLine()) != null) { //获得命令执行后在控制台的输出信息 // System.out.println(lineStr);// 打印输出信息 String[] atr = lineStr.split(" "); if (atr.length == 2 && atr[1].equals("org.apache.catalina.startup.Bootstrap")) { pid = atr[0]; getTomcatPid = true; break; } } //检查命令是否执行失败。 if (p.waitFor() != 0) { if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束 System.err.println("shutdown force tomcat successful"); } inBr.close(); in.close(); if (getTomcatPid) { Process p1 = run.exec("taskkill /F /PID " + pid);// 启动另一个进程来执行命令 //检查命令是否执行失败。 if (p.waitFor() != 0) { if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束 System.err.println("shutdown force tomcat error"); } else { System.out.println("shutdown force tomcat successful"); } } } }