java在使用Runtime获取Process输入流阻塞问题

java在使用Runtime获取Process输入流阻塞问题

问题描述:

Process ps= Runtime().getRuntime().exec(command);返回Process 需要手动处理getInputStream()和getErrorStream(),两者都需要处理,要是不处理的话,会造成进程阻塞,

处理方法1:

启动两个线程将这两个Stream 处理调用

处理方法2:

Process ps= new ProcessBuilder(command).redirectErrorStream(true).start();
设置redirectErrorStream为true,将两个流合二为一,用getInputStream接收stdin和stderr;
亲测两种方式都有效。

你可能感兴趣的:(java在使用Runtime获取Process输入流阻塞问题)