2.3.0: linux-runlevel



什么是init?

init是initialization的简写,是unix和类unix系统中用来产生其他所有进程的程序,它以守护进程的形式存在,进程号为1

ps aux |grep init
root          1  0.1  0.1  19232  1500 ?        Ss   22:10   0:01 /sbin/init
root       1667  0.0  0.0 103308   888 pts/0    S+   22:31   0:00 grep init
## 分裂为BSD风格和SysV风格,其中SysV风格使用文件/etc/inittab
## 传统的init只负责同步执行开机顺序启动进程,关机前顺序关闭进程

init启动相关文件

# init的配置文件
vi /etc/inittab
***********************************************
...省略部分...
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)     # 关机
#   1 - Single user mode                          # 单用户模式
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)                    # 少了NFS的模式3
#   3 - Full multiuser mode                       # 命令行模式
#   4 - unused                                    # 预留模式
#   5 - X11                                       # 图形模式
#   6 - reboot (Do NOT set initdefault to this)   # 重启
id:3:initdefault:            # 更改第二段的数字可以修改默认runlevel
***********************************************

# 查看当前默认runlevel
who -r
         run-level 3  2016-04-24 22:17

什么是upstart(目前此项目已经被放弃,ubuntu转向了systemd)?

upstart是一个用来替代init的系统初始化程序,由canonical公司前雇员Scott James Remnant所写,改善了传统init的严格同步执行,改为基于事件的异步工作的初始化常驻进程。
特点: