在 upstart 中声明依赖项

在 upstart 中声明依赖项

似乎在 upstart 中指定服务A对服务的依赖关系的可接受方法B是在撤销依赖方向:给服务B一个start on starting A节。

我想避免这种情况,原因有二:

  1. B当有新的服务依赖于它时,修改配置文件似乎很奇怪:新服务应该声明它是依赖关系;B不应该了解它们。

  2. 我想通过从已经构建的依赖图拓扑进行来自动化服务层次结构的构建,而为此而将其转换为反向依赖图是不雅的。

我以为我可以在pre-start配置文件中的脚本节中启动依赖服务,但看起来如果我setuidsetgid节---从那时起pre-start脚本将与该用户/组一起运行。

是否有一种惯用的方法可以做到这一点(即声明依赖关系而不是反向依赖关系)?这个答案不是我想要什么因为我不想必须编写非 upstart 的初始化脚本。

(我认为在这种情况下start on started BforA会起作用,但我不确定如果A有多个依赖项,它是否会起作用:会start on started B and started C起作用吗?如果我启动B然后C,会A同时获取两个事件吗?此外,即使在一个依赖项的情况下,这也会导致逻辑错误:start on started BB已经开始是一个充足的开始的条件A。但我想说的是,B开始是一个必要的启动的条件A,以及启动操作A应满足的条件。)

相关内容