私はコードは、基本的にこの作品、この時間のSystem.exitによってRuntime.execが殺されるのですか?
Runtime.exec(....);
System.exit(0);
99.8%のように見えるbatファイルを実行することになっているJavaプログラムを持ち、その後、成功コード0
で終了完全に。しかし、非常に散発的には、バットファイルは実行されません。
私の理論によると、特定のシステムでは、System.exitが実行される前にRuntime.execの生成が完了できません。これは可能/可能か?
私はRuntime.execのソースを調べましたが、興味深いものを実行するためにネイティブコードに落ちています。
これまでの回答に基づいて
EDIT、私は.batファイルはjavawをを使用して、別のjavaプロセスを実行することを明記してください。私は1番目のJavaプロセスの終了がbatファイルで2番目のJavaプロセスを終了させないことを確認できます。
問題が発生した場合、System.exitが発生する前にbatファイルが2番目のJavaプロセスを生成していない可能性はありますか?結局のところRuntime.execの問題ではないでしょうか?
EDIT2
私はそれが無期限に実行することができ、私の第一のプロセスが終了する必要があり、最後に第二のプロセスを待つことができません。
ここではjavawは必要ありません。ランタイムクラスの代わりにProcessクラスで十分でしょう。 – Harshdeep