【发布时间】:2012-03-21 08:15:09
【问题描述】:
我需要读取在 IBM j9(模拟器 JVM 到 windows mobile)上运行的进程的输出。我试过这个:
Process p = Runtime.getRuntime().exec("j9.exe");
BufferedReader br = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String stringLog;
while ((stringLog = br.readLine()) != null) {
System.out.println(stringLog + "\n");
}
但它不起作用,因为它返回了 j9.exe 的新实例,而不是现有进程。
我需要从 j9console(现有进程的)获取所有记录到 System.out 的消息。我该怎么做呢?
【问题讨论】:
-
你的意思是要获取一个已经运行的进程的输出流吗?
-
@roni - 我相信这就是他想要做的。
-
是的,我需要一个已经运行的进程的输出。
-
我认为 JRE 不可能做到这一点。
ProcessBuilder委托给ProcessImpl,它只是构建并执行一个 shell 命令来启动一个新进程。