为什么 rc0.d(关机)和 rc6.d(重启)中有启动‘S’符号链接?

为什么 rc0.d(关机)和 rc6.d(重启)中有启动‘S’符号链接?

在关机和重启运行级别中启动‘S’符号链接吗?

为什么 rc0.d 和 rc6.d 中有“S00-S99”启动符号链接?Ubuntu 13.04目录列表:

$ ls -l /etc/init.d/rc6.d

lrwxrwxrwx 1 root root  29 Oct 30 12:05 K10unattended-upgrades -> ../init.d/unattended-upgrades
lrwxrwxrwx 1 root root  20 Apr  4 15:07 K21postgresql -> ../init.d/postgresql
-rw-r--r-- 1 root root 351 Jan 30 04:58 README
lrwxrwxrwx 1 root root  18 Mar  6  2011 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 Mar  6  2011 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  22 Mar  6  2011 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  20 Oct  7  2012 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 Mar  6  2011 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 Mar  6  2011 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  16 Mar  6  2011 S90reboot -> ../init.d/reboot

如您所见,前两个脚本是“K”(kill)脚本,这正是我们在 rc0 和 rc6 运行级别中所期望的,然而接下来的七个脚本是“start”脚本。

我读过/etc/init.d/rc脚本并了解运行级别 0 和 6$行动硬编码为停止因此,即使“S”启动脚本也传递了“停止”命令:

case "$runlevel" in
0|6)
  ACTION=stop
  # Count down from 0 to -100 and use the entire bar
  first_step=0
  progress_size=100
  step_change=-1
  ;;

我再次想问,为什么在关机和重启运行级别中还要费心使用“S00 - S99”脚本?为什么它们不都是“K00 - K99”符号链接?

答案1

我也有同样的疑问。请参阅我的问题关机期间哪些参数传递给 init 脚本

原因是 中的所有脚本rc0.d都首先用 调用start,然后再用 调用stop。这样,您就可以独立于关机期间要执行的任何其他终止脚本来对最终关机脚本进行排序。

相关内容