2012-01-05 4 views
2

私はUNIX上で動作するJavaプログラムを書いています。 永遠に走りたいです。しかし、私がコマンドラインから起動すると、プログラムが終了するまでそのウィンドウを開いたままにしておく必要があります。 誰でも私にバックエンドでそれを走らせる方法について何か考えてもらえますか?コマンドラインから起動するだけで、コマンドラインを閉じることができます。 ありがとうございます。Unix環境下でコマンドラインから独立して動作するプログラムについて

答えて

2

あなたはそれがあなただけnohupを使用することができ、「デーモン化」したくない場合は、次の

$ nohup your-program & 
$ exit 

と、あなたのプログラムは、それが終了するまでバックグラウンドで実行し続けます。

1

あなたのプログラムを「デーモン」にすることをお勧めします。 daemonizing javaプログラムについてはtheselinks、Linuxの場合はdaemonizingについてはthis oneを参照してください。

+1

おそらく過剰殺しでしょう - '&' /シェルの使用)おそらく良いです。 –

+0

これは通常、OPが求めているようにコマンドラインを終了することを許可しません。私のマシンでは、 'sleep 100&'を実行してシェルを終了すると、スリープジョブが終了します。 –

1

...「画面」ユーティリティを使用することもできます。あなたはそれを一度も使っていないのであればややこしいですが、仕事中の端末で仕事を始め、他の場所から同じ端末に簡単に再接続して仕事の状況を確認することができます。私は長時間実行しているジョブを実行するサーバーに接続するために使用します。私のローカルマシンがクラッシュしたり、電源が切れたり、火災などが発生した場合、画面を使用しないとプロセスが停止する可能性があります。

+0

+1画面。私はいつか前に似たようなもののためにそれを使用し、長時間走っている仕事のためにnohupよりも優れています。 – Cemre

関連する問題