java获取已经打开的串口的输出流,Java - 读取现有进程的输出流

I need to read the output of a process running on IBM j9 (emulator JVM to windows mobile). I tried this:

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");

}

But it didn't work because it returned a new instance of j9.exe, not the existing process.

I need to get all messages that are being logged to System.out from j9console (of the existing process). How would I go about doing that?

解决方案

It is not possible using pure Java. You would have to write a native library that makes low level OS function calls, and expose the library to Java via JNI. Even at the native level, the OS may not have system calls that provide this capability, depending on the OS -- it is an unusual task you are asking for, something that is usually done only by debuggers. E.g. gdb.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值