Linuxサーバーで停止するまで実行しようとしているjar実行可能ファイルがあります。Java Service Wrapper APIを試してみましたが、それは非常に難しく、それが私が望んでいることすらわかりません。サーバー上でプログラムを実行して、ログオフしてもプログラムが実行され続けるようにする方法はありますか?サーバーにログインするためにsshを使用し、jarを実行するためにコマンドラインを使用しています。ありがとう!
4 に答える
走る:
nohup java -jar myjar.jar &
最後のアンパサンドは、新しいフォークされたプロセスで実行されるため、ログアウト後も続行されます。 nohup
所有者がログアウトしたときにハングアップしないようにします。
サーバーをデーモンとして設定できる場合は、そうすることができます。そうでない場合は、画面のようなプログラムを使用して仮想ターミナルを作成してみてください。
sudo apt-get install screen
screen java -jar myJar.jar
端末にアクセスしたい場合:
screen -r
サービスとして実行したい場合は、daemontoolsをご覧ください。
マシンの起動時にプログラムを開始し、クラッシュした場合は再起動し、マシンのスイッチがオフになると停止します。
Ubuntuでは、適切な方法で簡単に入手できます。
なぜそうです!(これはサーバー上でのみ機能し、パーソナル コンピューターでは機能しない場合があることに注意してください) Linux の「screen」コマンドを使用して、ログオフ後も続行される仮想端末を作成します。手順はこちらです。
基本的に、次を使用します。
$ screen
新しい仮想端末ウィンドウを開始します。コードを開始し、実行したら、「control + a」、「d」の順に入力してウィンドウから切り離します。デタッチすると、ログオフでき、プログラムは引き続きサーバー上で実行されます。それに戻るには、次のように入力します。
$ screen -r
プログラムに戻ります。簡単!指示