6

Javaプログラムを作ってjarファイルにしました。AWS で 24 時間年中無休で実行したいと考えています。screen というアプリケーションを使用して、ログアウト後も実行し続けます。私はこのコマンドを使用します:

screen java -jar my_app.jar

しかし、ずっと走り続けることはできません。1日か2日走るとたまたま止まります。ログを保持するようにしましたが、それを終了する例外は見つかりませんでした。メモリ使用量が多いなどの理由で、JVM がアプリケーションを強制終了するのでしょうか? JVM はログを保持しますか? JVM のログはどこにありますか? アプリをデーモンにする必要がありますか? もし私がしなければならないなら、どうやって?

4

2 に答える 2

2

解決策を見つけたかもしれませんが、Windows では、バッチ「ウォッチドッグ」を使用して、プログラムを閉じたときにプログラムを再起動できます (また、データをログに記録します)。

:launch
java -jar my_app.jar 1>>log.txt 2>>err.txt
goto launch

Linux/Unix では、これらの行に沿って bash を作成できます (2 分の検索を行うのが面倒です) また、アプリのメモリ使用量を監視し、しきい値を超えている場合は閉じることをお勧めします ( 70%)、ba*h スクリプトによって再起動されます。

于 2014-02-17T16:07:34.467 に答える