本文已参与「新人创作礼」活动,一起开启掘金创作之路。
运行模式(运行级别)
在linux中存在一个进程init(initalize 初始化 ),进程的id 是1.
查看进程:# ps-ef|grep init
该进程存在一个对应的配置文件:initable (系统运行级别的配置文件,位置/etc/initable)
查看 /etc/initable文件
cat/etc/initable 得知有7种运行级别或模式
| 7种运行级别或模式 | |
|---|---|
| 0 | 关机级别(不要将默认的运行级别设置成0) |
| 1 | 单用户模式 只root用户进行维护 |
| 2 | 多用户模式,不带NFS(Net File System) |
| 3 | 多用户模式,完全的多用户模式(标准的运行级别) |
| 4 | 没有被使用的(被保留的模式) |
| 5 | 完整的图型化界面模式 |
| 6 | 表示重启级别(不要将默认的运行级别设置成6) |
与该级别相关的几个命令
#init 0 对应的系统会运行,/etc/rc.d/rc0.d里指定的程序。我们来看下名称
开机会执行的两个进程是killall和halt,这两个都表示为终止进程。故init 0是用于表示关机的。
init 1
对应的系统会运行,/etc/rc.d/rc1.d里指定的程序。
这个级别启动的服务有三个,udev、lvm相关的和single(单用户模式的服务)。故此级别是单用户模式,只有root能用,不支持其他用户。
init 2
对应的系统会运行,/etc/rc.d/rc2.d里指定的程序。
这个级别启动的服务多了,NetworkManager/iptables/acpid/alsa都已经开启,但是nfs,smb,openvpn相关服务没有开启,这个级别不支持nfs。
init 3
对应的系统运行/etc/rc.d/rc3.d
这个级别nfs服务是开启的,被成为完全多用户模式。
init 4
此模式被称为安全模式。
init 5
切换到图型界面
init 6
这个级别里,只有两个服务,一个为killall,一个是reboot,即,关闭现在的系统,重启。故此级别是重启。
注意: init命令需要超级管理员权限,普通用户无法执行
这些命令其实是调用init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作
3、设置模式永久为命令模式
将/etc/initable文件中的initdefault设置成3,然后重启操作系统。