我有一个计时器A
,每隔几个小时运行一个运行服务的脚本B
(其中包含脚本systemctl start
)。然后我想在完成C
后运行服务。B
这是我的服务C
:
[Unit]
Description=lorem ipsum
Requires=B.service
After=B.service
[Service]
Type=oneshot
ExecStart=echo
B
也是 Type=oneshot。
问题:我调用后systemctl start B.service
它C
不会自动启动。我没有 [Install] 部分,因为我不想它们在启动时启动。
答案1
你搞错了。After
没有指定C
需要启动的服务,请参阅 systemd.unit了解更多信息。
您希望将类似这样的内容作为您的服务配置B
:
[Unit]
Description=Your service C
Requires=C.service
Before=C.service
...