次のユースケース: ユニットA
と ユニット がB
ターゲット によって要求されますT
。ユニットA
が競合しますB
。ユニットB
は ユニット より前に起動されますA
。システムはターゲット で起動しますT
。
もし私が理解しているならドキュメント正しくは、ユニットは起動時にA
ユニットを停止します。ユニットの起動をまったく妨げません。私の仮定は正しいですか?B
B
答え1
私自身の質問に答えます。自分の状況を反映する簡単なテストを書きました。
# Service B
[Unit]
Description=Hello World Service
#After=systemd-user-sessions.service
[Service]
Type=simple
ExecStart=/bin/sh -c "echo test > /tmp/test && sleep 10"
TimeoutStopSec=30
そして
# Service A
[Unit]
Description=Hello World Service
After=B.service
Conflicts=B.service
[Service]
Type=simple
ExecStart=/bin/sh -c "echo test2 > /tmp/test2 && sleep 10"
TimeoutStopSec=30
そして
# target T
[Unit]
Description=Foobar boot target
Wants=A.service B.service
このような状況では、サービスB起動時に有効になりませんターゲットT