upstart: About rcS & rc-default

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
yqliu
帖子: 5
注册时间: 2008-10-21 22:18

upstart: About rcS & rc-default

#1

帖子 yqliu » 2009-01-10 12:08

正常开始时,rcS最后exec /etc/init.d/rcS,这将运行/etc/rcS.d下的所有脚本,
完成后运行 rc-defalut中的 telinit 2进入图形界面。这是正常流程

然后在单用户时,/proc/cmdline中有了single选项,所以启动流程是:
rcS最后exec /etc/init.d/rcS,这将运行/etc/rcS.d下的所有脚本,
完成后,rc-defalut发现有single选项,去执行telinit S------------这正是我不能理解的,因为再去执行telinit S时按理应该再一次运行/etc/rcS.d下的所有脚本。而上面已经运行过了啊.。请高手指教!!

按照我的理解,在单用户时,rc-defalut发现有single选项,去执行telinit 1,--------而不是去执行telinit S,
这才是sysv init的正常流程。改正后也是可以工作的。

然而为什么不改也可以工作呢?请指教!!
yqliu
帖子: 5
注册时间: 2008-10-21 22:18

Re: upstart: About rcS & rc-default

#2

帖子 yqliu » 2009-01-11 0:15

自己回答一下:
>完成后,rc-defalut发现有single选项,去执行telinit S------------这正是我不能理解的,因为再去执行telinit S时按理应该再一次运行/etc/rcS.d下的所有脚本。

telinit S时不会进入/etc/rcS.d执行,因为telinit S 只是产生一个runlevel事件,而这个事件是在rcS-sulogin中捕捉的,代码如下:start on runlevel S

所以实际上会进入rcS-sulogin中执行,并进入了单用户模式。

所以实际上ubuntu中,运行级1除了手动进入外,系统是不会自己进入的。
回复