我正在开发一个使用 upstart 运行多个服务/守护进程的应用程序。这些应该在系统启动时启动,但只有在数据库服务器(在我们的例子中是 mongo)启动之后。我正在寻找正确的 upstart 配置以导致服务在启动时启动 mongo 或仅在 mongo 启动后启动。
我不想修改不属于我们自己软件的任何新贵配置(例如修改 mongo 新贵配置)。
一个方向是在我们的代码中添加如下内容:
start on started mongod and runlevel [2345]
或类似的东西,但我认为这不是我想要的:我希望“mongo started”成为我们服务的要求,我不希望它触发我的脚本启动。例如,我不希望有人手动停止我们的服务并重新启动 mongo,例如,我们的脚本也会无意中启动。
有什么建议么?
在初始化脚本的开头有一个
INIT INFO
块:前三行是您必须更改以执行您想执行的操作的地方。
Provides
说明您的脚本正在提供什么服务。Required-Start
是你放置依赖项的地方,就像mongod
你的情况一样,如果是这种情况,Required-Stop
你将设置在停止服务之前必须停止的服务。