0

环境

Windows 10
Java 1.8

过程

I am running a 7zip's zip task.
The process takes 2 to 3 hours to complete.

例外

java.lang.IllegalThreadStateException:进程未
在 java.lang.ProcessImpl.exitValue(ProcessImpl.java:443)
处退出 java.lang.ProcessImpl.waitFor(ProcessImpl.java:452at

我的代码

int exitValue = -1;
Process start = null;
try
{
        ProcessBuilder processBuilder = new ProcessBuilder(commands);
        start = processBuilder.start();
        try(BufferedReader ipBuf = new BufferedReader(new InputStreamReader(start.getInputStream())))
        {
            String line = null;
            while ((line = ipBuf.readLine()) != null)
            {
                LOGGER.info(line);
            }
        }
        try(BufferedReader errBuf = new BufferedReader(new InputStreamReader(start.getErrorStream())))
        {
            String line;
            while ((line = errBuf.readLine()) != null)
            {
                LOGGER.warning(line);
            }
        }
        start.waitFor();
        exitValue = start.exitValue();
}
finally
{
        if (start != null)
        {
            start.destroy();
        }
}
return exitValue;

我无法找到此问题的根本原因。

注意:我已经在同一台机器上使用类似的演示实例尝试过这个过程,它工作正常。

请帮我解决这个问题,谢谢。

4

0 回答 0