为什么要在Required-start中设置与init.d脚本中的Required-stop相同的值?

时间:2011-04-25 00:19:34

标签: debian init.d

The Debian wiki为“INIT INFO”提供了以下示例:

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

然后文档说明了以下关于必须停止的内容:

  

必需 - 停止:boot_facility_1 [boot_facility_2 ...]

     

定义服务使用的设施   由脚本提供。设施   这个脚本提供的应该停止   在列出的设施之前   停止以避免冲突。 常   你会在这里包括相同的   设施和必需 - 开始   关键字。

如果在设施停止之前它不会运行,那么将相同的值设置为Required-Start是不是没有意义吗?

2 个答案:

答案 0 :(得分:4)

  

必需 - 停止:boot_facility_1   [boot_facility_2 ...]

     

定义脚本提供的服务使用的工具。该   该脚本提供的工具   应该在列出之前停止   设施停止以避免   冲突。通常你会包括   这里有相同的设施   必需 - 开始关键字。

必需 - 停止用于表示在停止当前脚本提供的设施之前不应停止列出的设施。

这是为了防止,例如,$ remote_fs被停止,并且在数据库服务器有机会安全关闭并正确地将数据库保存到文件系统之前卸载了NFS挂载的/ usr和/ var。

答案 1 :(得分:0)

另一个例子:我在VNC服务器中运行VirtualBox,由两个不同的init脚本启动。

我希望VirtualBox在VNC之前关闭。因为如果VNC首先关闭,VirtualBox可能会被杀死而不是干净地关闭!

所以我指定我的VirtualBox init脚本依赖于VNC启动,也用于关闭。