Linux启动过程

https://www.cnblogs.com/javawebsoa/archive/2013/05/08/3067507.html
启动过程,和启动几个关连目录。别注意/etc/init.d/这个目录指向(软链接)/etc/rc.d/init.d/。林写在查nginx启动脚本时。

Linux启动过程
redhat的启动方式和执行次序是:

加载内核
执行init程序
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
/etc/rc.d/rc.local
/sbin/mingetty # 等待用户登录
init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。

至此,Linux的启动结束。

Linux的引导过程

系统启动之后,在进入 init.d之前,我们先来看看系统都做了什么工作.

系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。内核被加载到内存中之后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫 init的用户级程序,完成引导进程。

运行级别(run level)
init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab 文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到 6 ,具有不同的功能。不同的运行级定义如下:

0 – 停机(千万别把initdefault设置为0,否则系统永远无法启动)

1 – 单用户模式

2 – 多用户,没有 NFS

3 – 完全多用户模式(标准的运行级)

4– 系统保留的

5 – X11 (x window)

6 – 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启)

常用的是2、3、5。

Linux启动目录
/etc/rc.d/ 包括rc.d, rcx.d目录和rc.sysinit, rc, rc.local三个脚本文件。

/etc/rc.d/init.d/存放启动时要运行的脚本(一般为linux以rpm包安装时设定的一些服务的启动脚本),在系统启动的时候某些指定脚本将被执行。

/etc/rc.d/rcx.d/ 各启动级别对应的启动目录,存放链接到init.d目录下脚本的符号链接(软链接),指定特定启动级别下哪些脚本被运行。x为启动级别,0-6。

/etc/rc.d/init.d这个目录下的脚本在系统启动的时候执行,但不是全部都执行,而是有选择的执行,因为系统并不需要启动所有的服务。

那么,系统是如何选择哪些需要启动哪些不要呢?这时刚才说的运行级别就起作用了。在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9和FC7的源码中它都是一上来就check_runlevel()(虽然实现的代码不一样,也大同小异),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d …… rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在rc5.d下,但是放在这个rc5.d下的都是一些链接文件,链接到init.d中相对应的文件,真正运行的是init.d里的脚本。
以下是rcx.d目录下符号链接名称的一些说明:
1、链接文件前面为什么会带一个Kxx或者Sxx呢?
带K的表示停止(Kill)一个服务,S表示开启(Start)的意思,凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。
2、K和S后面带的数字呢?干什么用的
数字的作用是用来排序,就是决定这些脚本执行的顺序,数值小的先执行,数值大的后执行。很多时候这些执行顺序是很重要的,比如要启动Apache服务,就必须先配置网络接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值