myweb.service
次のファイルがあります
[Unit]
Description=myweb - A simple hello world program
After=bluetooth.service
[Service]
Type=simple
User=root
ExecStart=/usr/bin/docker run -p 2222:4343 manikanth/webapp
Restart=on-failure
[Install]
#WantedBy=multi-user.target
特に無効にbluetooth.service
して確認しました。ただし、サービスはまだアクティブです。私はこれが原因だと思ったので、WantedBy
私の意見です。問題はまだ存在します
しない正しい方法は何ですか?育てるたとえば、依存サービスが有効になっていない場合はbluetooth.service
どうなりますか?
答え1
Requisite=
このオプションとこのオプションを探している可能性がありますAfter=
。
~からマニュアルページ
Requires=に似ています。ただし、ここにリストされているセルがまだ起動していない場合は開始されず、トランザクションはすぐに失敗します。
Requires=
この場合、うまくいかないのはbluetooth.service
起動時に起動されることですmyweb.service
。Requisite=
オプションは起動を試みませんが、失敗がbluetooth.service
表示されますmyweb.service
。
答え2
myweb.service
私の記憶が正しい場合は起動時にのみ有効にし、bluetooth.service
そうでなければmyweb.serbice
。これが正しい場合は、以下の回答を読んでください。そうでない場合は訂正してください!
Requires
あなたは本当にAfter
。ユニットファイル間の依存関係をソートするハイブのみを使用しますAfter
が、Requires
依存ユニットが失敗した場合も失敗します。したがって、Requires=bluetooth.service
追加myweb.service
systemctl daemon-reload