2012-02-17 28 views
1

この質問が以前に尋ねられたが、自分の状況と正確に一致するものが見つからなかった場合、私はお詫び申し上げます。自動再起動バッチファイル

私はいくつかのバッチファイルを持っていますが、それらは内部で実行されているJavaプログラムのために常に実行されています。しかし、時には彼らはクラッシュし、私はそれらを監視していないので、私はそれらを再起動するまでいくつかの時間が経過します。

これらのバッチファイルを監視する方法があるか、クラッシュしてもそれらのバッチファイルを再起動する方法はありますか? Windows XPでこれらのファイルを実行しています。

ありがとうございました

答えて

1
+0

私にとっては良いようですが、20個のバッチファイルを実行するようにしています。このプログラムは、1つのプロセスに対してのみ構成されているようです。一度に複数のプロセスを監視するようにこのプログラムを調整する方法を知っていますか? – emrahsamdan

1

ループ内の別のバッチファイルからバッチファイルを開始できます。起動されると、ループは待機します。クラッシュするとループが終了します。

+0

こんにちは、私は他の場所からもこれを読んでいますが、バッチライティングには慣れていません。このバッチコードの例を挙げてください。私はループの例を意味します。私の.batの名前がemrah.batの場合。 – emrahsamdan

+0

ちょうどGoogleを出してください。 SOに関するトピックがあります。たとえば、[this one](http://stackoverflow.com/questions/1788473/while-loop-in-batch) – weekens

0

javaへの各呼び出しを、cmd.exe経由でjavaを呼び出すgotoループに置き換えます。 Javaプログラムがエラーで終了した場合のみ、条件付きでループバックします。

. 
. 
:javaLoop 
cmd /c java yourJavaProg || goto :javaLoop 
. 
. 

あなたはそれを再起動する回数を制限するためにカウンタを追加することで、完全な障害が発生した場合に、無限の急速なループを防ぐために必要がある場合があります。もう1つの可能性は、時間を記録し、最後に再起動してから最小限の時間が経過した場合にのみ再起動することです。または両方の組み合わせかもしれません。

EDIT - 第2の考えでは、CMD/Cは必要ないかもしれません。 javaを直接呼び出すだけでエラーが発生した場合でも条件付きでループすることで正常に動作するかもしれません。

関連する問題