4

Java コードを jar ファイルにコンパイルし、それを ubuntu サーバーに移植しました。通常の方法で手動で開始できますがjava -jar myJar.jar、プログラムを 8 時間だけアクティブにしたいと考えています。jar ファイルを午前 9 時に開始し、午後 5 時に自動的に終了するプロセスとして設定するにはどうすればよいですか?

4

1 に答える 1

5

次のような簡単なランチャースクリプトを作成します。

  • 2つのコマンドラインオプションを使用します。
    • --start
      • jarを実行するためのクラスパスとJAVA_HOMEなどの環境を設定します。
      • スポーンjava -jar myJar.jar
      • プロセスIDをキャプチャし、myJar.pidファイルの特定の場所に保存します。
    • --stop
      • からプロセスIDを読み取り、シグナルmyJar.pidを送信しkillます。

次に、 cronで2つのジョブをスケジュールします。1つは午前9時に引数付きでこのランチャースクリプトを呼び出し、もう1つは午後5時に引数--start付きで同じスクリプトを呼び出します。--stop

また、アプリケーションにシャットダウンフックを登録して、killシグナルが発行されたときに正常に終了するようにします。

于 2012-09-27T18:56:56.293 に答える