2011-09-14 4 views
0

私は自分のJavaコード内のループでバットファイルを実行する必要があります。それは、あるプロセスがファイルを終了したときに、別のプロセスがそれ以降に開始することを意味します。プロセスバットファイルを呼び出した後、私のプロジェクトでThread.sleepを使用しています。しかし問題は、バットファイルがどのように取るかわからないということです。ファイルの中には、それらのうちのいくつかが1時間かかると10分かかってしまうものもあります。どのようにプロセスが終了するのか理解できますか?どのように私はJavaプログラミングでプロセスを完了することができますundurestand

+1

どのように.batファイルを実行していますか? – Andrew

+0

次のコマンドを使用します:Process p = Runtime.getRuntime()。exec(SimsWriter_SpeadWeb.bat) –

答えて

2

あなたはRuntime.getRuntime().exec()Processを作成することによって、それを実行した場合、あなたはそれが終了するのを待つProcesswaitFor()メソッドを呼び出すことができます。

Process.exitValue()を使用すると、.batファイルが返す可能性のあるエラーレベルを読み取ることさえできます。

+0

Runtime.getRuntime()。exec()の後にwaitForを使用すると、プロセスが終了するときにプログラムがundrestadします。 ?私はThread.sleep()を使用する必要はありません –

+0

Correctomundo。 – CodeCaster

+0

もう一度申し訳ありませんが、waitfor()を置くと、プロジェクトは待機せず実行されません。 –

関連する問題