对systemd服务文件的依赖性

时间:2016-10-24 16:17:53

标签: systemd

我对系统d概念有点经验,即单元文件等。 现在我有一个要求,因为我的单位文件A应该依赖于B,如果满足一些条件(比如一些变量值),否则依赖于C单元文件或服务。

systemd中是否提供此功能?

1 个答案:

答案 0 :(得分:0)

您可以将依赖服务写入文件并分配给env var,例如/etc/foo/bar.env

BAR_DEPENDENCIES=apple banana cereal

然后在你的bar.service文件中

EnvironmentFile=/etc/foo/bar.env
ExecStartPre=/usr/bin/systemctl start $BAR_DEPENDENCIES
ExecStart=/opt/foo/bar.exe

这将启动applebananacereal服务。您可以在启动/etc/foo/bar.env服务之前以编程方式修改bar文件以添加或删除服务。

我还使用了帮助服务来编写环境文件,并在主服务中将帮助服务指定为Requires=,以便它在主服务之前运行。

相关问题