7

起動時にコンソール ウィンドウを開いてフォアグラウンドのままにする Java コンソール アプリケーションを開発しました。そのアプリケーションをバックグラウンドで起動したいと考えています。

今、私はこのコマンドラインでアプリケーションを起動します:

java -jar myapp.jar

この動作を実現する方法はありますか? コマンドラインパラメータを変更するだけで十分ですか、それともコードを変更する必要がありますか?

4

4 に答える 4

13

答えは、オペレーティング システムによって異なります。

*nix: <your command> &
Windows: (opens a new console): start <your command>
Windows: (doesn't open a new console): start /b <your command>
于 2011-06-24T20:04:16.613 に答える
6

UNIX ベースでこれを行っている場合は、最後に & を追加して、新しいスレッドを生成し、バックグラウンドで実行し続けることができます。

java -jar myapp.jar &
于 2011-06-24T20:00:26.833 に答える
4

本当にバックグラウンドで実行したいだけjava -jar myapp.jar &なら、仕事をします。そうすれば、シェルが閉じても死にますが、シェルを使い続けることができます。

本当にデーモンとして実行したい場合nohup java -jar myapp.jar &は、仕事をします。そうすれば、シェルが閉じても生き続けます。

これを信頼できるものにしたい場合は、init スクリプトまたはupstart ジョブ定義を準備するか、Vixie 指定子を介して実行してcron(8) @reboot、起動時に開始するようにすることができます。

于 2011-06-24T20:05:29.953 に答える
3

Windowsを使用している場合は、JavaServiceWrapperを検討してください。私は過去にプロジェクトでそれを使用しました。

于 2011-06-24T20:22:23.503 に答える