第一个init进程

本文详细介绍了Linux系统启动过程中init进程的角色,包括如何通过/sbin/init准备系统环境,读取/etc/inittab文件确定运行级别。讲解了运行级别的含义,如0-关机,1-单用户模式,3-命令行模式等,并指出相关配置文件位于/etc/rc.d目录下。此外,还阐述了rcX.d目录中S和K脚本的执行顺序以及/etc/init.d中的服务脚本如何被调用,最后提到了/sbin/mingetty命令用于启动终端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开机过程中,内核调用的第一个进程是/sbin/init
init进程启动,通过/sbin/init准备系统软件的运行环境,读取/etc/inittab,获取运行级别数值
可以看到/etc/inittab文件里包含id:3:initdefault:

who -r查询运行级别,也可以通过runlevel来查询,只是后者查询的时候会显示两个状态,分别代表上次和本次的runlevel

运行等级一般分为7级
0-关机
1-单用户模式
2-与级别3类似,无nfs服务
3-命令行模式,包含网络功能
4-保留功能
5-桌面模式
6-重启

大部分相关文件都在/etc/rc.d下面
[root@test001 rc.d]# ls
init.d rc rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local rc.sysinit

[root@test001 etc]# ls -al | grep init
drwxr-xr-x. 2 root root 4096 5月 27 19:07 init
lrwxrwxrwx. 1 root root 11 5月 27 19:06 init.d -> rc.d/init.d
-rw-r–r–. 1 root root 884 5月 27 19:10 inittab
lrwxrwxrwx. 1 root root 15 5月 27 19:07 rc.sysinit -> rc.d/rc.sysinit

rc.sysinit系统的初始化,真实目标文件是/etc/rc.d/rc.sysinit

/etc/rcX.d启动的服务,X代表对应的运行级别,真实链接到/etc/rc.d/rcX.d目录
运行级别3启动的服务

其中K代表停止运行进程,S代表开始进程,K或S后面的数字代表执行的顺序,对于S来说,数值越小越优先执行,K则相反,从高到低执行停止动作。注意最后的S99local

rc3.d下面的脚本链接到/etc/init.d下面的服务脚本去执行
比如S90crond链接到/etc/init.d/crond

/etc/init.d里保存启动与关闭的服务脚本,真实链接到/etc/rc.d/init.d目录。
/etc/init.d目录下

安装完系统后,里面这些一般是系统安装好的软件

一般rc就是代表run control的意思

在init进程初始化后按照获取的运行级别,选择性的运行init.d里的脚本
比如service mysqld start 启动(运行)/etc/init.d/ 目录下的mysqld脚本

调用完了rcX.d里的服务后,调用/etc/rc.d/rc.local,里面自定义要开机启动的服务脚本。
比如要在3或者5上启动某个自定义脚本,不需要分别在rc3.d下或者rc5.d下再分别加链接。
上面的rc3.d里面的最后一条S99local,去执行对应的目标文件

当完成了所有的系统服务的启动后,就会启动终端来等待用户登录,/sbin/mingetty命令用来启动终端,一般默认2345都会执行该命令
所谓的6个tty也是在此设置的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值