How do I get the bash command exit code from a Process run from within Java?

I have a program which is:

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

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

       if (args.length <= 0) {
         System.err.println("Need command to run");
         System.exit(-1);
       }

       Runtime runtime = Runtime.getRuntime();
       Process process = runtime.exec("./nv0914 < nv0914.challenge");
       Process process1 = runtime.exec("echo ${?}");
       InputStream is = process1.getInputStream();
       InputStreamReader isr = new InputStreamReader(is);
       BufferedReader br = new BufferedReader(isr);
       String line;

       //System.out.printf("Output of running %s is:", Arrays.toString(args));

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

     }
    } 

note: nv0914 is a bash executable file and nv0914.challenge is a text file. Когда я запускаю любую обычную команду в терминале и сразу после этого проверяю код выхода с помощью echo $ {?} . Теперь я хочу сделать то же самое с помощью программы, но программа просто выдает результат $ {?} . Пожалуйста, помогите мне!

5
задан Erick Robertson 4 May 2011 в 17:33
поделиться