パッケージ化されたjarファイルを使用してリモートサーバー上でサービスを実行していますが、問題はsshセッションを終了しても必要なサービスを含むプロセスを終了させることです。リモートのubuntuサーバーでJava Jarを実行する
私は1年ほど前にcronスクリプトで演奏しましたが、運がなかったので、どんな指針にも感謝します。
ルイス
パッケージ化されたjarファイルを使用してリモートサーバー上でサービスを実行していますが、問題はsshセッションを終了しても必要なサービスを含むプロセスを終了させることです。リモートのubuntuサーバーでJava Jarを実行する
私は1年ほど前にcronスクリプトで演奏しましたが、運がなかったので、どんな指針にも感謝します。
ルイス
あなたは、これは、セッションが終了したときにハングアップされてからプロセスを防ぐため、nohupコマンドを使用する必要があります。
nohup java -jar myjar.jar
私はこれをMarvin Pintoが言ったことに応じて追加すると考えていました。また、そのようなファイルへのコンソール出力を送信することができます
nohup java -jar myjar.jar >> logfile.log 2>&1
は、より多くの詳細を必要とするかもしれませんが、一般的に、私はあなたが親シェルからそれをデタッチするプロセスをnohupをかdaemonisingすることで見てみたいと思いますプロセス。
nohup/path/to/java -jar /path/to/file.jar –
歓声 - 上記のコメントが表示されたら、かなり簡単になりました。 – LewisMc
リモートマシンで同様の長時間実行される操作を実行する必要がある場合は、通常はscreenセッションを使用します。
サーバーにログインしたりサーバーからログアウトするたびに、セッションの参加または切断が容易になります。追加ボーナスは、あなたが戻ったときのstdout/stderr出力をすべて保存することです。
私は違いがわかりませんが、 'java -jar myjar.jar 2>&1> log.out&' – LewisMc
を使用して終了しました。コマンドの前に "nohup"バックグラウンドで実行させるために '&'を追加してもセッションを終了するとハングアップします。 – 3urdoch
ええ、あなたは正しいよ – LewisMc