Systemd:特定服务后启动服务

时间:2014-02-17 13:42:24

标签: systemd

一般问题:在特定.service成功启动后,如何启动系统.service

具体问题:如何在website.service开始后启动mongodb.service?换句话说,website.service应取决于mongodb.service

2 个答案:

答案 0 :(得分:78)

在[Unit]部分下的.service文件中:

[Unit]
Description=My Website
After=syslog.target network.target mongodb.service

重要的部分是mongodb.service

该联机帮助页描述了它,但由于格式化,第一次看不清楚

systemd.unit - well formatted

systemd.unit - not so well formatted

答案 1 :(得分:31)

After=依赖关系仅在包含After=的服务和After=所包含的服务都安排在启动过程中启动时才有效。

例如:

a.service
[Unit]
After=b.service

这样,如果a.serviceb.service 已启用,则systemd将在b.service之后订购a.service

如果我没有误解,那么即使b.service未启用a.serviceb.service启动Wants=的方法也是如此。

Requires=下的[Unit]website.service [Unit] Wants=mongodb.service After=mongodb.service 指令。

Wants=

Requires=Requires=之间的区别在于b.service,启动a.service失败将导致Wants=的启动失败,而即使a.service失败,b.service,{{1}}也会启动。这在the man page of .unit上有详细解释。