Systemd 服务单元不会在启动时启动,除非 #[Unit] 被注释掉

Systemd 服务单元不会在启动时启动,除非 #[Unit] 被注释掉

运行最新的 Arch Linux ARMv7 (RaspPi 3)。我创建了两个 systemd 服务单元。我想foo先开始然后再开始barfoo启动时启动,但bar不启动。但是bar将从 shell 提示符手动启动。这是单元文件的副本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]会导致RequiresAfter指令被忽略。删除这些指令并删除注释#会产生相同的行为。

它在没有注释的情况下无法在启动时启动的原因#一定是因为其他服务的要求存在问题。

相关内容