/etc/rcS.d/目录中的内容是在启动时自动运行的脚本,一般用于初始化程序,启动daemon
目录内文件的命名规则是 Xnnaaaaaa,X可以为S或K,S是指启动这个程序,K指停止这个程序;nn是两位数字,指定这个程序的启动顺序,越小越 先启动;aaaaaa为程 序的名字,长度任意,其实这一段没有意义,具体启动那个程序要看这个符号链接是指向那个文件。举个例子
$ cd /etc/rcS.d/
$ ls -l S*
S02mountvirtfs S30procps.sh S40networking
S04udev S35mountall.sh S41hotplug-net
S05bootlogd S36mountvirtfs S48console-screen.sh
S05keymap.sh S36udev-mtab S50alsa-utils
S07hdparm S38pppd-dns S50hwclock.sh
S10checkroot.sh S39dns-clean S51ntpdate
S15linux-restricted-modules-common S39ifupdown S55bootmisc.sh
S18ifupdown-clean S39readahead S55urandom
S20module-init-tools S40hostname.sh S70screen-cleanup
S22hwclockfirst.sh S40hotplug S70xorg-common
S30checkfs.sh S40ifrename S75sudo
$ ls -l S51ntpdate
lrwxrwxrwx 1 root root 17 2005-10-25 00:51 S51ntpdate -> ../init.d/ntpdate
S51ntpdate, 以S开头表示要启动它;51表示它将会比S50hwclock.sh先启动,比S55bootmisc.sh后启 动; ntpdate无意义,只做说明和区分其它S51开头的程序;它为符号链接,指向../init.d/ntpdate,也就是 /etc /init.d/ntpdate。于是启动时系统就会运行
/etc/init.d/ntpdate start
如果把名字改为K51ntpdate,那么系统启动时会运行
/etc/init.d/ntpdate stop
当 然,扯远一点,这里改为K51ntpdate在我看来不是最好的办法,在rcS.d里面放Knnaaaaaa似乎没有太大意义,要么把这个文件删掉, 或者 改为_Snnaaaaaa,这样也不会启动,也不会运行停止脚本,而且ls的时候依然是排序的,另外有些时候update软件的时,会自动把K 变 成S,用_Snnaaa的话就可以看出来是否添加了自己之前已经不要的启动项。