2012-03-02 14 views
0

パッケージ化されたjarファイルを使用してリモートサーバー上でサービスを実行していますが、問題はsshセッションを終了しても必要なサービスを含むプロセスを終了させることです。リモートのubuntuサーバーでJava Jarを実行する

私は1年ほど前にcronスクリプトで演奏しましたが、運がなかったので、どんな指針にも感謝します。

ルイス

答えて

4

あなたは、これは、セッションが終了したときにハングアップされてからプロセスを防ぐため、nohupコマンドを使用する必要があります。

nohup java -jar myjar.jar 

私はこれをMarvin Pintoが言ったことに応じて追加すると考えていました。また、そのようなファイルへのコンソール出力を送信することができます

nohup java -jar myjar.jar >> logfile.log 2>&1 
+0

私は違いがわかりませんが、 'java -jar myjar.jar 2>&1> log.out&' – LewisMc

+0

を使用して終了しました。コマンドの前に "nohup"バックグラウンドで実行させるために '&'を追加してもセッションを終了するとハングアップします。 – 3urdoch

+0

ええ、あなたは正しいよ – LewisMc

3

は、より多くの詳細を必要とするかもしれませんが、一般的に、私はあなたが親シェルからそれをデタッチするプロセスをnohupをかdaemonisingすることで見てみたいと思いますプロセス。

+0

nohup/path/to/java -jar /path/to/file.jar –

+0

歓声 - 上記のコメントが表示されたら、かなり簡単になりました。 – LewisMc

4

リモートマシンで同様の長時間実行される操作を実行する必要がある場合は、通常はscreenセッションを使用します。

サーバーにログインしたりサーバーからログアウトするたびに、セッションの参加または切断が容易になります。追加ボーナスは、あなたが戻ったときのstdout/stderr出力をすべて保存することです。

関連する問題