ProcessBuilder:结果进程挂起在windows中的java中

ProcessBuilder:结果进程挂起在windows中的java中,java,processbuilder,Java,Processbuilder,在Java中执行外部进程时,我遇到了一些奇怪的问题。 当我尝试使用process Builder运行流程时。这个过程不会在那个时刻执行。但是,只要我停止Java程序,进程就会执行,结果就会显示出来。 任何人对这种行为都有任何想法 下面是我的代码: ProcessBuilder pb = new ProcessBuilder("java", "-jar", jarFileLocation, fileEntry.getAbsolutePath(), c

在Java中执行外部进程时,我遇到了一些奇怪的问题。 当我尝试使用process Builder运行流程时。这个过程不会在那个时刻执行。但是,只要我停止Java程序,进程就会执行,结果就会显示出来。 任何人对这种行为都有任何想法

下面是我的代码:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", jarFileLocation,
                        fileEntry.getAbsolutePath(), commonFileLocation).redirectError(new File("C:/Users/Desktop/log.txt"));;
                pb.start();

我正在将子进程的错误(如果有)重定向到文件“log.txt”。

我相信您在这里有一个输入错误:
fileEntry.getAbsolutePath(),.commonFileLocation
(注意逗号后的点)。您如何准确地检测到“进程挂起”以及如何运行父进程?也就是说,进程或IDE可以缓存其输出,并仅在缓存已满或进程已终止时显示。@yeputons:Edited。问题是别的。我正在使用process builder运行一个jar文件,该文件解析文件并生成代码。但是,当构建器运行时,直到我手动中止该过程,代码才会生成。似乎Process builder正在等待其他流程完成。我正在eclipse中运行它。如何检查进程是否没有运行?Windows中的任务管理器,Linux中的任务管理器?您正在寻找什么进程名称?如果您尝试运行其他程序,而不是
java
,例如
bash-c“echo foo”
,问题是否仍然存在?