昨日阅读实践3小时,累计298.5小时
runlevel:7种运行级别。在/etc/inittab文件中指定
每个Linux发行版对运行级别的定义都不太一样。但0、1、6三个级别获得了共识,含义如下。
 0表示关机模式。
 1表示单用户模式,单用户模式下只有系统管理员可以登录。
 6表示重启模式,也就是关闭所有运行的进程,然后重新启动系统。
另4个:
2--多用户(不支持文件共享、NFS服务等,这个模式不常用)
3--完全的多用户模式,支持NFS(常用的用户模式,默认登录到字符界面)
4--基本不用的用户模式,实现某些特定的登录请求
5--完全多用户模式,默认登录到X-Window系统(GUI界面)
在RHEL 7.x/CentOS 7.x版本中,由于采用了systemd管理体系,因此以前运行级别(runlevel)的概念被新的运行目标(target)所取代,tartget的命名类似于“multi-user.target”这种形式,比如原来的运行级别3(runlevel3)对应于新的多用户目标“multi-user.target”,运行级别5(runlevel5)就对应于“graphical.target”。因为systemd机制中不再使用runlevle的概念,所以/etc/inittab也不再被系统使用。
 在新的systemd管理体系里,默认的target(相当于以前的默认运行级别)通过软链接来实现。
# /etc/systemd/system/default.target
显示默认的target
如果要修改默认target为“multi-user.target”,可以先删除存在的软链接,然后重新建立软连接指向到“multi-user.target”即可
即:
# rm -rf /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
要查看运行级别与target的对应关系,可以执行“ll /lib/systemd/system/runlevel*.target”命令
 
系统关机过程
最常用的Linux关机命令有init、shutdown、halt和reboot等,这些命令都可以达到关机重启的目的,但是每个命令的内部工作过程是不同的
shutdown:以安全地关闭Linux系统
shutdown是用shell编写的程序,必须由超级用户才能执行。shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭。请保存文件,停止作业,注销用户。此时 login 指令被冻结,新的用户不能登录。当所有用户从系统中注销或者指定时间已到时,shutdown就发送信号给init程序,要求init程序改变系统运行级别。接着,init程序根据shutdown指令传递过来的参数,相应地改变运行级别。例如,如果shutdown指定的参数是关机命令,init程序就执行init 0进行关机;如果shutdown指定的参数要重启系统,init程序就执行init 6进行系统重启。