回答:
いくつかの方法:
後ろに追加&
します。ただし、これを使用すると、プログラムを開始した端末を閉じた場合、プログラムは終了します。
[スタートscreen
セッションを、その内部のプログラムを開始。screen
セッションを切断してターミナルを閉じることができます。後で、セッションに再度アタッチして、あたかもずっとそこにいたかのようにコンソールに戻ることができます。ただし、プログラムを実行する前にスクリーンセッションを開始する必要があります。それを忘れた場合は、何もできません。
disown
シェルからジョブ制御を使用します。これにより、ttyからタスクが切り離され、ttyが閉じられてもプログラムは終了しません。しかし、見捨てられた仕事を再び付ける方法はないと思います。
私がいつもログオフまで続く長い実行時間に使用したコマンドラインプロンプトは「nohup」ですので、あなたの場合は
nohup java -jar test.jar &
&は重要であるため、別のシェルを実行できます。これは再起動後も続かないと思います。
「いつでも」ということは、マシンの起動時に起動するという意味であれば、起動時スクリプトの一部として起動する必要があります。これを行う汚い方法は、追加することです
java -jar test.jar> / dev / null 2>&1&
/etc/rc.localに(または/ dev / nullをお気に入りのログファイルに置き換えて)。
より適切なのは、適切なランレベルで開始するinit.dスクリプトを作成することです(たとえば、ランレベル0、1、または6では必要ない場合があります)。そうすれば、死んだ場合に自動的に再起動し、一時的に停止するためのより優れたインターフェイスを使用することもできます。
http://www.howtoforge.com/forums/archive/index.php/t-3628.htmlの小さなサンプル
http://developer.novell.com/wiki/index.php/Writing_Init_Scriptsでの大きな説明
java -jar test.jar &
&演算子は、プロセスをバックグラウンドで強制的に実行します。その後、「top」コマンドを実行して、実行されていることを確認できます。
Linuxでは、コマンドラインの最後に「&」記号を追加することにより、バックグラウンドで任意のタスクを実行できます。たとえば、
java -jar test.jar &
ここから入手できるJava Service Wrapperのコミュニティバージョンを使用できます。
http://wrapper.tanukisoftware.org/doc/english/download.jsp
その後、再起動時に起動することができます。
http://wrapper.tanukisoftware.org/doc/english/launch-nix-boot-debian.html
入れて&
終わりに:java -jar test.jar &