Linux下inittab文件详解
/etc/inittab文件详解
Linux系统的启动过程为:加电自检-->根据BIOS中的设置从指定的设备启动-->找到设备MBR中的bootloader引导启动系统-->启动kernel-->启动init进程
当进入n运行级(n就是上面所定义的运行级别),会把/etc/rc.d/rc*.d(*表示对应登记项process字段rc后的数字)这个目录中所有以S开头的文件启用,把以K开头的文件给禁用,并且这些文件只在进入相应的运行级别时执行一次,退出此运行级别失效。所以每个运行级别的服务是独立的,而/etc/rc.d/rc*.d这个目录中存放的是在对应级别下所要开启和禁用的服务的文件。
还有一篇,原址如下:
http://www.linux178.com/linux/inittab.html
详解 /etc/inittab 文件
- 作者:斯巴达克斯
- 时间:January 4, 2014
- 分类:Linux
当内核初始化后,就会启动第一个进程 init,init进程会进行一系列的系统初始化工作,init是根据什么来进行初始化的?
init 会读取/etc/inittab文件(针对CentOS 5 系列),执行里面的内容来进行初始化工作,这个文件是一定的格式。
获取inittab文件的帮助,输入 man inittab 命令
过滤掉空白行和以#号开始的行,内容如下:
[root@server1 ~]# egrep -v '^$|^#' /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon
其格式可以归纳为如下:
id:runlevels:action:process
id 用来定义在inittab文件唯一的条目编号,长度为 1-4个字符
runlevels 列出来运行的级别 为空则代表所有级别
action 要执行的动作
process 要执行的程序
id:3:initdefault:
id 就使用id本身来定义
3 就是列出的运行级别
initdefault
这个动作就是设定默认的运行级别,如果前面runlevels不指定运行级别,那么会在启动时在终端询问,这一行不需要process这一段
si::sysinit:/etc/rc.d/rc.sysinit
id 是 si 只是用来标识
runlevels 为空则代表的是 所有的运行级别
sysinit 是指在系统启动时执行后面的process(也就是/etc/rc.d/rc.sysinit)
/etc/rc.d/rc.sysinit 这是一个系统初始化脚本,这个脚本里面初始化很多的
该脚本的作用:
激活selinux和udev
根据/etc/sysctl.conf文件设置内核参数
设置系统时钟
装载键映射
启用交换分区
设置主机名
根文件系统检测并重新挂载其为读写;
激活RAID和LVM;
检查和挂载其它文件系统;/etc/fstab中定义;
清理操作
l0:0:wait:/etc/rc.d/rc 0
l0 就是标识这是0级别
0 就是动作是在0级别下发生
wait 是指在切换至0级别时执行后面的process(/etc/rc.d/rc 0),并且init进程会等待直到这些进程终止
/etc/rc.d/rc 0 这是一个脚本 后面的0 是传递进去的参数 ,传递进去0就代表着要执行/etc/rc.d/rc0.d/
下面所有的脚本首先执行K开头的脚本,然后执行S开头的脚本
这一行的意思就是当运行在0级别,就会执行/etc/rc.d/rc0.d/ 所有的脚本


K开头的脚本都是需要停止的
S开头的脚本都是需要启动的
后面跟的2位数数字是启动或者停止顺序
这里面大多数是K开头,是因为0级别本身就是关机的,所以都是要停止的,也有2个S开头 S00killall 这个脚本kill所有的没有关闭的进程,S01halt 是 用来关机的 所有才有此2个S开头的脚本
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
这几个跟上面如出一辙
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
ca id名称
runlevel留空 代表所有级别
ctrlaltdel 代表 ctrl+alt+delete
/sbin/shutdown -t3 -r now 执行重启命令
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pf id名称
runlevel留空 代表所有级别
powerfail 当突然断电时执行
/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" 服务器在UPS前提下,当突然断电,服务器就会倒计时2分钟,进行关机
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
pr id名称
12345 也就是在12345级别下才会执行后面的动作
powerokwait 也就是上面的倒计时未结束(在2分钟之内)再来电,那么取消关机
/sbin/shutdown -c "Power Restored; Shutdown Cancelled" 取消关机
1:2345:respawn:/sbin/mingetty tty1
1 id名称
2345 也就是在2345级别下才会执行后面的动作
respawn 意思就是当后面的要执行的程序(/sbin/mingetty tty1) 终止了,init进程会自动重启该进程
/sbin/mingetty tty1 执行的程序
这一行大体意思就是 当虚拟终端进程结束了,init会自动再次打开虚拟终端,就是我们用SSH连接到服务器,退出时系统会打开一个登录的界面等待输入
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
跟上面一样,系统优化的时候可以适量减少一些虚拟终端的数量,可以减少系统资源占用。
x:5:respawn:/etc/X11/prefdm -nodaemon
x id名称
5 后面的动作只是在5级别下运行
respawn 会自动重启后面的程序
/etc/X11/prefdm -nodaemon 这个是图形界面
这一行大体意思是 当图形化界面进程结束,会自动再打开图形化程序
Linux下inittab文件详解的更多相关文章
- 【转】linux中inittab文件详解
原文网址:http://www.2cto.com/os/201108/98426.html linux中inittab文件详解 init的进程号是1(ps -aux | less),从这一点就能看出, ...
- linux中inittab文件详解
init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序. init程序需要读取配置文件/etc/ ...
- Linux 下hosts文件详解
1.主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号. 公网:IP地址不方便记忆,所以又有了域名.域名只是在公网( ...
- /etc/inittab文件详解
/etc/inittab由/sbin/init程序解析调用,用于系统初始化,/sbin/init可参考源码busybox中init.c的实现方式. 原址如下: http://leejia.blog.5 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- Linux下chkconfig命令详解(转)
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
- Linux知识积累(4) Linux下chkconfig命令详解
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
随机推荐
- windows多线程(七) 事件event
前面说的互斥量Mutex与关键段CriticalSection都不能实现线程的同步,只能实现互斥,接下来我们用时间event就可以实现线程的同步了,事件也是一个内核对象. 一.相关函数说明 (一) 创 ...
- vue 组件 模板中根数据绑定需要指明路径并通信父
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>T ...
- jmeter 正则表达式提取
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:id,后面的引用方式是${id} 正则表达式:提取内容的正则表达式,相当于lr中的关联函数 [() 括起来的部分就是需要提 ...
- 《Head First Java》读书笔记
primitive主数据类型有8种: boolean.char.byte.short.int.long.float.double 没有对象变量,只有引用到对象的变量,对象引用变量保存存取对象的方法 实 ...
- P1198 [JSOI2008]最大数
题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:L不超过当前数列的长度.(L>0) ...
- 关于PHP 时区错误的问题
php的ini文件中时区配置默认为关闭状态 这会导致调用时间函数时出错,所以要开启时区并且配置自己的时区: 查询手册找到所有的时区有: 所以修改配置为: 重启apache问题解决
- 51nod 1208 窗上的星星 | 线段树 扫描线
51nod 1208 Stars In Your Window 题面 整点上有N颗星星,每颗星星有一个亮度.用一个平行于x轴和y轴,宽为W高为H的方框去套星星.套住的所有星星的亮度之和为S(包括边框上 ...
- hadoop进阶----hadoop经验(一)-----生产环境hadoop部署在超大内存服务器的虚拟机集群上vs几个内存较小的物理机
生产环境 hadoop部署在超大内存服务器的虚拟机集群上 好 还是 几个内存较小的物理机上好? 虚拟机集群优点 虚拟化会带来一些其他方面的功能. 资源隔离.有些集群是专用的,比如给你三台设备只跑一个 ...
- day6-python基础
- Qt 编写多窗口程序
该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 程序要实现的功能是:程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭 ...