小编Unc*_*ook的帖子

systemd:当主服务崩溃时停止依赖服务

(系统版本 229)

我有一个主服务A和一个辅助服务B。主服务A可以自行运行。但是服务 B 本身无法正确运行:它需要 A 运行(技术上 B可以运行,但这是我想要systemd阻止的)。我的目标:如果A不运行,B就不应该运行。假设 A 和 B 正在运行,当 A 停止或死机/崩溃时,B 应该停止。

我该如何实现这一目标?

我通过将 [Unit] 项目添加到 b.service 来接近,使用

Requisite=A.service
After=A.service
Run Code Online (Sandbox Code Playgroud)

上面的结果就是

  • 除非 A 正在运行(良好),否则 B 不会启动。
  • 当 A 停止时 B 也停止(好)。
  • 但是,如果我杀死 A,服务 B 会继续运行(不好)。

我该如何解决最后这个行为?似乎PartOfBindsTo不起作用,但也许我没有正确的选项组合咒语?从手册页中我不清楚可以组合哪些选项。

systemd.unit 手册页:https://www.freedesktop.org/software/systemd/man/systemd.unit.html 相关:Systemctl 依赖失败,停止依赖服务

linux service systemd systemctl

5
推荐指数
1
解决办法
6989
查看次数

标签 统计

linux ×1

service ×1

systemctl ×1

systemd ×1