Java コードを jar ファイルにコンパイルし、それを ubuntu サーバーに移植しました。通常の方法で手動で開始できますがjava -jar myJar.jar
、プログラムを 8 時間だけアクティブにしたいと考えています。jar ファイルを午前 9 時に開始し、午後 5 時に自動的に終了するプロセスとして設定するにはどうすればよいですか?
2549 次
1 に答える
5
次のような簡単なランチャースクリプトを作成します。
- 2つのコマンドラインオプションを使用します。
--start
- jarを実行するためのクラスパスとJAVA_HOMEなどの環境を設定します。
- スポーン
java -jar myJar.jar
。 - プロセスIDをキャプチャし、
myJar.pid
ファイルの特定の場所に保存します。
--stop
- からプロセスIDを読み取り、シグナル
myJar.pid
を送信しkill
ます。
- からプロセスIDを読み取り、シグナル
次に、 cronで2つのジョブをスケジュールします。1つは午前9時に引数付きでこのランチャースクリプトを呼び出し、もう1つは午後5時に引数--start
付きで同じスクリプトを呼び出します。--stop
また、アプリケーションにシャットダウンフックを登録して、killシグナルが発行されたときに正常に終了するようにします。
于 2012-09-27T18:56:56.293 に答える