【发布时间】:2016-06-29 11:40:09
【问题描述】:
我有一个处理超过 5 分钟的命令行。当我使用 ProcessBuilder 调用命令行时,它会在 5 分钟内完成该命令。
而如果需要超过 5 分钟,进程就会挂起,并且在我退出进程之前不会显示进程的任何改进。
p = new ProcessBuilder("myprogram","with","parameter").start();
p.waitFor();
如果您不明白上述问题,请告诉我?
【问题讨论】:
-
@Matej Kormuth 的回答是正确的。您应该注意与进程关联的标准文件描述符。解决此问题的最简单方法是(对于初学者)
p = new ProcessBuilder("myprogram","with","parameter").inheritIO().start();假设您使用的是 Java 7+。
标签: java deadlock processbuilder