Debian Linux - 起動時にスクリプト/アプリケーションを実行する

Debian Linux - 起動時にスクリプト/アプリケーションを実行する

。できる次のようにファイルを実行します。

java -jar server.jar 4242

だからスクリプトがあります。Javaサーバー.sh始めましょう:

#!/bin/sh
java -jar server.jar 4242 &

server.jarはシステム起動時にジョブを開始する必要があるため、次のことを試しました。

  1. 次へ追加@reboot /home/user/java-server.sh到着クローンタップ-e
  2. 次へ追加bash java-server.sh || 1番出口到着ローカルファイル
  3. 次へ追加Javaサーバー.sh/etc/init.dへ

誰も働かなかった。システムにログインしてスクリプトを起動すると、ログアウトするまで時計のように動作します。ここで問題は何ですか?

答え1

スクリプトのフルパスを呼び出す必要があります。例/etc/rc.local:

 bash /usr/local/bin/java-server.sh > /tmp/java-server.log 2>&1

/usr/local/binもちろん、スクリプトがにある場合...他の潜在的な問題をデバッグするためのログファイルも生成されます。 (本番では、セキュリティ上の理由から、適切な権限、保存、およびログローテーションを使用して/ tmpではなく/ var / logにこれらのログファイルを生成する必要がありますが、これは回答目的で単純化されています。)

関連情報