2017-06-01 16 views
0

if文でラインからないIllegalThreadStateException実行時エラーでこのコードの結果:ProcessBuilder - JavaでIllegalThreadStateExceptionエラーが発生するのはなぜですか?

public static void main(String args[]) throws IOException, InterruptedException { 
    Runtime runtime = Runtime.getRuntime(); 
    Process proc = new ProcessBuilder("\"c:\\[directory]/doer.exe\"").start(); 
    if(proc.exitValue() == 1) 
     System.out.println("Output: 1"); 
} 

これを具体的に実行することになっている実行ファイルが終了コード私が間違っているのは何1を持っており、私はそれをどのように修正することができます?

+0

「\」c:\\ [ディレクトリ] \\ doer.exe \ "" 'できますか? –

答えて

4

それが例外をスローなぜjavadocのプロセスの#exitValueを説明します。

https://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#exitValue()

例外:ないIllegalThreadStateExceptionを - このProcessオブジェクトが表すサブプロセスがまだ

を終了していない場合if-statementの前にproc.waitFor()を使用して、プロセスが終了するまで待ちます。

関連する問題