javabash命令问题

javabash命令问题,java,bash,exit-code,runtime.exec,Java,Bash,Exit Code,Runtime.exec,可能重复: 您好,我有一个程序,它是一个使用bash命令对另一个文件进行简单解密的程序/nv0914

可能重复:

您好,我有一个程序,它是一个使用bash命令对另一个文件进行简单解密的程序
/nv0914
,其中nv0914是unix可执行文件,nv0914.challenge是用于解密的文本文件。现在,当我从bash运行它时,然后如果我运行命令
echo${?}
我会得到一个值0,这很好。但是现在我必须实现一个攻击,为此我需要通过java程序打印出口值。我现在有了这个代码:

import java.io.*;
   import java.util.*;

   public class ExecBashCommand {
     public static void main(String args[]) throws Exception {


       Runtime runtime = Runtime.getRuntime();
       Process process = runtime.exec("./nv0914 < nv0914.challenge");

      /* InputStream is = process.getInputStream();
       InputStreamReader isr = new InputStreamReader(is);
       BufferedReader br = new BufferedReader(isr);
       String line;*/

System.out.println("Exit Code: "+process.exitValue()); 
       //System.out.printf("Output of running %s is:", Arrays.toString(args));

      /* while ((line = br.readLine()) != null) {
         System.out.println(line);
       }*/

     }
    } 

关于如何获取退出值的任何建议。谢谢

在尝试读取退出值之前,您是否尝试调用
process.waitFor()

在尝试读取退出值之前,您是否尝试调用
process.waitFor()
。它包含了答案。你也应该接受它。你应该在你之前的相同问题中看到彼得的答案。它包含了答案。你也应该接受它。它只是给我一个空的终端。。。好像它在运行一个无限循环。它只是给了我一个空的终端。。。好像它在运行一个无限循环。
Exception in thread "main" java.lang.IllegalThreadStateException: process hasn't exited
        at java.lang.UNIXProcess.exitValue(UNIXProcess.java:172)
        at ExecBashCommand.main(ExecBashCommand.java:16)