システムが再起動すると、init.d ディレクトリのシンボリックリンクが通常のファイルに置き換えられます。

システムが再起動すると、init.d ディレクトリのシンボリックリンクが通常のファイルに置き換えられます。

init.dディレクトリにシンボリックリンクを作成しますln -s /myservice.jar /etc/init.d/myservice

再起動後、システムシンボリックリンクは通常のファイルに置き換えられます。

ls -l /etc/init.d/myservice再起動する前の出力:

lrwxrwxrwx 1 root root 30 Mar 31 12:34 /etc/init.d/myservice -> /myservice.jar

再起動後:

-rwxrwxrwx 1 root root 41912304 Mar 31 12:40 /etc/init.d/myservice.jar

なぜこれが起こるのですか?

直す。ISPmanagerがサーバーで使用されていますが、これは問題になる可能性がありますか?

答え1

実行するとどうなりますか?

$ java -jar /etc/init.d/myservice

期待どおりに動作しますか?コマンドが実行された瞬間を正確に置き換えますかmyservice?それから私たちはあなたが描いた神秘的な行動についての手がかりを持っています。myservice.jarjava -jar

Jarファイルは移植可能に設計されていますが、シンボリックリンクは確かにそうではありません。したがって、この動作は、クラスパスの要件を満たすためにJava部分でいくつかの自動修正の直接的な結果であることを願っています。

ありがとう、ミシャ

答え2

service myservice start申請を開始しますか? ( service myservice.jar start)

さらに重要なのは、service myservice stopアプリケーションがブロックされるのか?

ファイル内に/etc/init.dサービスファイルがあります。

  1. それらはstart|stop|status|restart唯一の引数として呼び出されるべきです。 (|代表するか)

  2. 彼らはつながるべきです~から /etc/rcX.dここで、Xは実行レベル(0〜6)です。

  3. また、いくつかのガイドラインでは、起動時期(ファイルシステムの起動前または後、ネットワークの起動前または後、データベース、Webサーバーなど)が通知されるため、rcinitはそれを解析します。

関連情報