Linux系统运行级介绍

Linux系统内核创建的第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。

Linux系统使用一个表来管理在系统开机时要自启的进程,这个表一般位于/etc/inittab或/etc/init.d目录中,一些开机启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/rxX.d目录下的入口启动,那么,这里的X就代表运行级。运行级就是操作系统当前正在运行的功能级别,它决定了init进程运行/etc/inittab或/etc/rcX.d目录中定义好的某些特定类型的进程,它可以让一些程序在一个级别启动,而另外一个级别的时候不启动。

Linux操作系统有7个运行级

  • 运行级0:系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器会关闭。
  • 运行级1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
  • 运行级2:多用户模式,没有NFS网络支持。
  • 运行级3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
  • 运行级4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
  • 运行级5:图形化模式,登陆后进入图形GUI模式,X Window系统。
  • 运行级6:重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。

运行级原理

在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)


在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级


rcN.d目录下都是一些符号链接(即软链接)文件,这些链接文件都指向/etc/rc.d/init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位阿拉伯数字。


系统启动时,会根据指定的运行级进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K开头的文件,系统将终止对应的服务; 对于以S开头的文件,系统将启动对应的服务。

可以用runlevel命令来查看运行级


上图表示当前系统运行在level 3模式下

用init N来切换其他的运行级,如果init 3则进入终端模式,init 5则登录图形GUI模式


上图表示运行级由3进入到5,再次输入init 3,则运行级由5回到3


需要注意的是:输入init 0,系统会关机;输入init 6,系统会自动重启。这两个命令要非常小心!

标准的Linux运行级为3或5,如果是3的话,系统就在多用户状态;如果是5的话,则是运行着X Window系统。不同的运行级别有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root账号密码,那么可以让机器启动进入单用户状态通过passwd root命令来重置密码。

参考资料

Richard Blum:《Linux Command Line and Shell Scripting Bible,3E》

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值