运行级别中的文件名的问题?

为当前最终发行版之前的所有版本提供支持
回复
jcadam
帖子: 31
注册时间: 2005-06-06 5:26
送出感谢: 0
接收感谢: 0

运行级别中的文件名的问题?

#1

帖子 jcadam » 2005-12-13 13:33

ubuntu的/etc/rc?.d/中的文件名让人搞不懂

代码: 全选

adam@Adamcorp:~$ ls /etc/rcS.d/
README                              S27evms         S40networking
S02mountvirtfs                      S30checkfs.sh   S41hotplug-net
S04mdadm-raid                       S30procps.sh    S45mountnfs.sh
S04udev                             S35mountall.sh  S48console-screen.sh
S05bootlogd                         S36mountvirtfs  S50alsa-utils
S05keymap.sh                        S36udev-mtab    S50hwclock.sh
S07hdparm                           S38pppd-dns     S51ntpdate
S10checkroot.sh                     S39dns-clean    S55bootmisc.sh
S15linux-restricted-modules-common  S39ifupdown     S55urandom
S18ifupdown-clean                   S39readahead    S70screen-cleanup
S20module-init-tools                S40hostname.sh  S70xorg-common
S22hwclockfirst.sh                  S40hotplug      S75sudo
S26lvm                              S40ifrename
其中SXX是否对实际的启动有影响?是顺序么?
如果想自己添加一个在运行级别3启动的程序时,应当怎样作?
谢谢。
头像
gnix_oag
帖子: 1994
注册时间: 2005-05-19 18:38
来自: 湖南永州
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 gnix_oag » 2005-12-13 13:50

在 /etc/init.d/rcS 中写道

代码: 全选

steps=$(echo /etc/rcS.d/S??*)
num_steps=0
for step in $steps; do
    num_steps=$(($num_steps + 1))
done
current_step=0

for i in $steps
do
        # Ignore dangling symlinks for now.
        [ ! -f "$i" ] && continue

        case "$i" in
                *.sh)
                        # Source shell script for speed.
                        (
                                trap - INT QUIT TSTP
                                set start
                                . $i
                        )
                        ;;
                *)
                        # No sh extension, so fork subprocess.
                        $i start
                        ;;
        esac
        last_step=$(($last_step + 1))
        # 50% of progress for rcS, 50% for our ultimate runlevel
        progress=$(($last_step * 50 / $num_steps))
        if type usplash_write >/dev/null 2>&1; then
            usplash_write "PROGRESS $progress" || true
        fi
done
回复

回到 “老旧版本支持”