Cat rcS
root:/etc/init.d# cat rcS
#!/bin/sh
Start all init scripts in /etc/init.d
executing them in numerical order.
for i in /etc/init.d/S??* ;do
Ignore dangling symlinks (if any).
! -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
done
rcS
当系统启动时:
内核运行 /sbin/init
init 根据 /etc/inittab(或内置逻辑)决定进入 sysinit 阶段
调用 /etc/init.d/rcS
rcS 遍历 /etc/init.d/S??*,依次执行:
/etc/init.d/S01syslogd start
/etc/init.d/S02klogd start
/etc/init.d/S02sysctl start
...
/etc/init.d/S46network start ← 此时 ifup -a 才真正运行!