最新のArch Linux ARMv7(RaspPi 3)を実行します。 2つのシステムサービスユニットを作成しました。foo
まず始めて、後で始めたいですbar
。foo
起動時に起動しますがbar
起動しません。ただし、bar
シェルプロンプトから手動で起動します。以下はユニットファイルのコピーですbar
。
[Unit]
Requires=foo.service
After=foo.service
[Service]
Type=simple
ExecStart=/usr/bin/setsid /usr/bin/bar >/dev/null 2>&1 < /dev/null
TimeoutSec=0
RemainAfterExit=Yes
[Install]
WantedBy=getty.target
ただし、次のように前にポンド記号を入れると次のようになります[Unit]
。
#[Unit]
その後、bar
起動時に正しい順序で始まります(それ以降foo
)。
この振る舞いとコメントは理に[Unit]
かなっていないようで、私が見つけた文書には合いません。もしそうなら、起動時にデバイスが起動する理由は何ですか? !
ベストアンサー1
コメントアウトすると、ディレクティブは無視さ[Unit]
れます。これらのディレクティブを削除してコメントを削除すると、同じ動作が発生します。Requires
After
#
注釈なしで起動時に開始されないのは、#
他のサービスの要件に問題があるためです。