首页 > 代码库 > Linux学习笔记(三):系统执行级与执行级的切换

Linux学习笔记(三):系统执行级与执行级的切换

1.Linux系统与其它的操作系统不同,它设有执行级别。该执行级指定操作系统所处的状态。Linux系统在不论什么时候都执行于某个执行级上,且在不同的执行级上执行的程序和服务都不同,所要完毕的工作和所要达到的目的也都不同。


2.Linux(Red Hat 9.0)设置了7个不同的执行级,系统能够在这些执行级别之间进行切换以完毕不同的工作。


3.接下来简介7个系统执行级:

(1).执行级0:关闭计算机。

(2).执行级1:单用户模式。

(3).执行级2:多用户模式(不带网络文件系统NFS支持功能)。

(4).执行级3:带有网络文件系统NFS支持的多用户模式。

(5).执行级4:系统保留备用。

(6).执行级5:用于自己主动启动XFree86系统(图形方式)。

(7).执行级6:又一次启动。

另外还有两种特殊的执行级(执行级)


4.接下来对着7个系统执行级进行理解:

(1).执行级0是为关闭计算机系统而设的。这时系统中全部已开启的服务都要停止,处于执行状态的进程都要转变为终止状态,系统收回所分配的资源,并关闭系统电源。

当使用关机命令shutdown -h命令时,系统转入该执行级。

(2).执行级1是为进入单用户模式维护计算机系统而设的。在该执行级上能够执行一些不适合在多用户。多任务模式下执行的命令。这时系统仅仅开启非常少的服务。

(3).执行级2,3。5都是多用户模式。仅仅是执行级2,3为字符终端模式,但执行级2不带网络文件系统(NFS)支持,而执行级3带有网络文件系统(NFS)支持。执行级5为图形方式,它使普通用户操作更为简单,方便。

(4).执行级6是为重新启动计算机系统而设的,这时系统中全部已开启的服务都要停止,处于执行状态的进程都要转变为终止状态,系统收回所分配的资源,并又一次启动计算机系统。当使用shutdown -r或reboot命令时。系统转入该执行级。


5.系统执行级的查看。能够通过执行命令方式或查看配置文件方式实现:

(1).执行命令方式:用runlevel命令能够查看曾经和当前系统的执行级。

在命令行下输入  runlevel  命令,它查看的是/etc/run/utmp 文件。并在标准输出设备上输出曾经和当前执行级情况。例如以下图所看到的:

技术分享

N 5表示曾经执行级未知。当前执行级为5,也就是当前执行级为自己主动启动的XFree86系统(图形方式)。

(2).查看配置文件的方式,查看配置文件的方式仅仅能查看系统当前的执行级,系统的配置文件是/etc/inittab:

我们能够通过文件编辑器打开,也能够使用打开文件的命令来查看。在命令行下输入:gedit /etc/inittab。即:

技术分享

技术分享

看到上图红色箭头指向框框处,id:5:initdefault:。这行中的5表示当前默认的系统执行级为5.


6.系统执行级的切换能够通过执行命令的方式或改动配置文件的方式实现:

(1).执行命令方式,Linux系统在执行中随时能够依据须要切换系统执行级,切换命令有两个:

命令一:init [0123456Ss]

命令二: telinit [0123456sSQqabcUu]

当中參数的说明:

0~6:切换到指定的系统执行级。

a,b,c:对于那些在/etc/inittab 文件里指定的能够在a,b。c执行级中执行的过程进行处理。

S或s:切换到单用户模式。

Q或q:又一次检查/etc/inittab 文件。

U或u:使/etc/inittab 文件又一次运行一遍,保留当前状态,不又一次检查/etc/inittab 文件。

因为执行级切换时系统要安装或卸载部分文件系统,关闭和开启部分服务。分配其它资源,因此。执行级的切换须要花费一定的时间,所以不要以为出了什么问题,喝杯水歇息下。每次切换执行级后,系统又会又一次回到用户登录的界面,要求用户又一次登录。


接下来我们能够输入上面命令中的命令一,在命令行下输入命令:init 1。进入单用户模式。例如以下图所看到的:

技术分享

按下回车键运行此命令,运行后例如以下:

技术分享

进入了单用户模式,我们能够输入命令:init 2。进入多用户模式(不带网络文件系统NFS支持功能),例如以下图所看到的:

技术分享

按下回车键。运行此命令后,例如以下:

技术分享

输入登陆名和password后,出现下图的界面:

技术分享

然后我们想要回到刚才的图形化界面,能够输入init 5,来自己主动启动XFree86系统(图形方式),例如以下图所看到的:

技术分享

按下回车键。运行此命令后例如以下:

技术分享

输入username和password后,进入了图形化界面。

以下我们尝试一下用命令二看能够切换系统执行级么?输入命令 telinit 6,看是否又一次启动,输入下图命令:

技术分享

红色框起来的就是在重新启动这个系统。

(2).切换系统执行级还能够改动配置文件方式,改动配置文件方式就是直接把/etc/inittab 文件里默认执行级改动到要设置的执行级上并保存(在上面第5点有介绍怎样打开文件并查看默认系统执行级),但这样的方式须要又一次启动系统才干使执行级生效,所以。在实际使用中用执行命令的方式切换系统执行级更为方便。


8.接下来介绍系统执行级的服务,不同的执行级下启动的服务是不同的,这些服务在Linux下也称为守护进程。用户能够在字符或图形模式下查看Linux系统已经启动和关闭了哪些服务。也能够在字符或图形模式下改动安装中的默认设置。已开启或关闭自己须要的服务。

(1).以下来介绍怎样通过命令方式来查看服务,在命令行下输入命令:chkconfig --list。例如以下图所看到的:

技术分享

上图显示的结果从左到右分为:服务名称,执行级,状态。

(2).以下来介绍怎样使用图形方式查看系统执行级服务。例如以下图所看到的:

技术分享

点击上图红色箭头指向处,也是Services。能够启动服务设置程序:

技术分享

上图复选框打勾的为已开启的服务,未打勾的都是未开启的服务。


9.独立执行的守护进程由init脚本文件负责管理,全部独立执行守护进程的脚本文件都放在/etc/rc.d/init.d 文件夹下。而在/etc/rc.d/rcx.d中。有很多以K或S开头的符号链接文件,这些链接文件都指向/etc/rc.d/init.d 文件夹中的脚本文件,以K开头的文件表示在执行级切换时要终止某个服务。以S开头的文件表示在执行级切换时要启动某个服务。我们能够简单理解,K为kill。即杀死。S为start,即启动。

我们能够切换到/etc/rc.d/rc0.d 文件夹下。查看这些链接文件:

(1).分别输入命令 cd /etc/rc.d/rc0.d 和 ls -l 。例如以下图所看到的:

技术分享

能够看到这里的链接文件是指向../init.d/文件夹下的文件。这个..指的是父文件夹,init.d文件夹的父文件夹为/etc/rc.d 文件夹,即链接文件指向的是/etc/rc.d/init.d 文件夹下的文件。


10.对于系统执行级服务的设置能够通过命令方式或图形方式实现:

(1).命令方式:在字符模式下能够用命令来设置开启或关闭服务。设置命令为:ntsysv,运行命令后例如以下图所看到的:

技术分享

用光标键或鼠标移动滚动栏到想要设置的服务项目上,按空格键或用鼠标单击选项框,选中后有* 表示,若不须要该服务。则再按空格键或用鼠标单击选项框。没选中的没有不论什么符号表示。当中开启了服务或关闭了服务。怎么才干点击Ok和Cancelbutton呢,能够使用Tab键来选择Ok和Cancel。

也能够执行setup命令,再选择System services菜单项并按Enter键来设置。

(2)图形方式,与服务查看的图形方式同样。即上面第8点的第二节,能够对服务进行设置。


11.我也是初学Linux,以上内容仅供大家学习參考所用,也有利于本人对学习知识的积累。所以写得不好的地方请见谅,如有错误,请指出,谢谢!

??

Linux学习笔记(三):系统执行级与执行级的切换