无法理解 After 和 Wants 在此服务中的用途

无法理解 After 和 Wants 在此服务中的用途

我正在阅读 mongod.service 并看到了这个:

After=network-online.target
Wants=network-online.target

这不应该Before代替吗After

根据我的理解,After开始mongod后开始network-online.targetWants使network-online.target开始后mongod。我认为这里有一个矛盾

答案1

据我了解,After make mongod start after network-online.target 启动。想让 network-online.target 在 mongod 之后启动。我认为这里有一个矛盾

这并不矛盾,因为“想要”和“之后”描述了不同类型的依赖关系。

“After”和“Before”设置顺序依赖关系——即“mongodb 必须在联网后启动”。

“想要”和“需要”设置需求依赖关系——也就是说,“如果你启动了 mongodb,那么你也应该启动网络”。

阅读systemd.unit 手册页有关可以在单元文件中描述的不同类型依赖关系的更详细讨论。

答案2

看来您误解了“Wants”的含义,这里的意思是 mongodb.service 希望 network-online.target 启动,即它希望网络在线,就像“After=network-online.target” ”说,在正常情况下他们说的几乎都是一样的。

相关内容