新贵:定义服务依赖性/优先级

我正在开发一个使用暴发户来运行多个服务/守护进程的应用程序。 这些应该从系统启动开始,但是只有在数据库服务器(在我们的例子中是mongo)启动之后。 我正在寻找合适的新贵configuration,以使服务在启动时启动mongo,或者在mongo启动后才启动。

我不想修改任何不属于我们自己的软件的新兴configuration(例如修改mongo upstartconfiguration)。

一个方向是添加到我们的代码如下所示:

start on started mongod and runlevel [2345] 

或者类似的东西,但我想这不是我想要的:我想让“mongo started”成为我们服务的一个需求,我不希望它触发我的脚本开始。 例如,如果有人手动停止我们的服务并重新启动mongo,我不希望这样,例如,我们的脚本也会无意中启动。

有什么build议么?

在init脚本的开始处有一个INIT INFO块:

 ### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO 

前三行是你必须改变的地方去做你想做的事情。 Provides状态您的脚本服务的服务。 Required-Start是你将放置依赖关系的地方,就像mongod在你的情况下,如果是这样的话,在Required-Stop你将设置在你停止服务之前必须停止的服务。