【发布时间】:2019-04-30 02:08:02
【问题描述】:
根据下面的代码,我正在尝试通过端口获取 tomcat 进程 ID 并结束该进程。我在 CMD 中得到这个命令是有效的,但习惯于 java 不起作用。我想改正方法请帮帮我
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("netstat -aon | find /i \"listening\"");
InputStream stdin = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<OUTPUT>");
while ( (line = br.readLine()) != null)
System.out.println(line);
System.out.println("</OUTPUT>");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t) {
t.printStackTrace();
}
【问题讨论】:
-
您的问题中没有关于 [cmd] 的内容。
-
您正在写入与 cmd 无关的控制台。
-
你的 netstat -aon 像 netstat -i 一样执行,因为管道。也许你可以试试这个stackoverflow.com/questions/15834656/getruntime-with-pipe