Linux下 init详解
Linux init详解
init模块
一般来说,Linux程序只能用另一个Linux程序启动。例如,登录Linux终端程序Mingetty。
但终端程序又由谁启动呢?在计算机上启动Linux时,内核装入并启动init程序。然后init程序
装载硬盘和启动终端程序。登录终端程序时,它启动命令行界面Shell。
在计算机上启动Linux之后,init程序监视任何关闭计算机的信号,如不间断电源(UPS)发
生的电源故障信号和重新启动命令。
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等
)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程
(其进程编号始终为1)。
内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说) 是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也 会失败。
一、什么是INIT:
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等
)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程
(其进程编号始终为1)。
内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说) 是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也 会失败。
二、运行级别
那么,到底什么是运行级呢?
简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的
功能。
不同的运行级定义如下:(可以参考Red Hat Linux 里面的/etc/inittab)
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到


