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.jar
java -jar
Jarファイルは移植可能に設計されていますが、シンボリックリンクは確かにそうではありません。したがって、この動作は、クラスパスの要件を満たすためにJava部分でいくつかの自動修正の直接的な結果であることを願っています。
ありがとう、ミシャ
答え2
service myservice start
申請を開始しますか? ( service myservice.jar start
)
さらに重要なのは、service myservice stop
アプリケーションがブロックされるのか?
ファイル内に/etc/init.d
サービスファイルがあります。
それらは
start|stop|status|restart
唯一の引数として呼び出されるべきです。 (|
代表するか)彼らはつながるべきです~から
/etc/rcX.d
ここで、Xは実行レベル(0〜6)です。また、いくつかのガイドラインでは、起動時期(ファイルシステムの起動前または後、ネットワークの起動前または後、データベース、Webサーバーなど)が通知されるため、rcinitはそれを解析します。