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支持功能),例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjU2MTE3Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
按下回车键。运行此命令后,例如以下:
输入登陆名和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 。例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjU2MTE3Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
能够看到这里的链接文件是指向../init.d/文件夹下的文件。这个..指的是父文件夹,init.d文件夹的父文件夹为/etc/rc.d 文件夹,即链接文件指向的是/etc/rc.d/init.d 文件夹下的文件。
10.对于系统执行级服务的设置能够通过命令方式或图形方式实现:
(1).命令方式:在字符模式下能够用命令来设置开启或关闭服务。设置命令为:ntsysv,运行命令后例如以下图所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjU2MTE3Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
用光标键或鼠标移动滚动栏到想要设置的服务项目上,按空格键或用鼠标单击选项框,选中后有* 表示,若不须要该服务。则再按空格键或用鼠标单击选项框。没选中的没有不论什么符号表示。当中开启了服务或关闭了服务。怎么才干点击Ok和Cancelbutton呢,能够使用Tab键来选择Ok和Cancel。
也能够执行setup命令,再选择System services菜单项并按Enter键来设置。
(2)图形方式,与服务查看的图形方式同样。即上面第8点的第二节,能够对服务进行设置。
11.我也是初学Linux,以上内容仅供大家学习參考所用,也有利于本人对学习知识的积累。所以写得不好的地方请见谅,如有错误,请指出,谢谢!
Linux学习笔记(三):系统执行级与执行级的切换的更多相关文章
- 嵌入式Linux学习笔记(三) 字符型设备驱动--LED的驱动开发
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的 ...
- Linux学习笔记06—系统用户及用户组的管理
一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...
- kali linux学习笔记之系统定制及优化(附:中文输入法设置)
fix update flash plugin on kali rolling author:@kerker 0x00设置软件源 root@kali:~# vim /etc/apt/sources.l ...
- Linux学习笔记<三>
<1>查看本机的IP地址 命令:ifconfig -a 机器的ip地址是:(inet 地址:172.16.163.57 ) <2>单独查看内存使用情况的命令:free -m 查 ...
- linux学习笔记之系统标准:POSIX,ISO C...
一.POSIX,ISO C,Single UNIX Specification的概念. 1,POSIX:Portable Operating System Interface.可移植操作系统接口.期望 ...
- linux学习笔记三:防火墙设置
请注意:centOS7和7之前的版本在防火墙设置上不同,只有正确的设置防火墙才能实现window下访问linux中的web应用. centOS6添加端口: vi /ets/sysconfig/ipta ...
- linux 学习笔记三
用户管理篇章 useradd 建立用户 一般用法 #useradd mysql 含义 创建 mysql用户 特殊用户 > #useradd -d /usr/cjh -m cjh 含义 创建 cj ...
- 【linux学习笔记三】链接命令
链接命令:ln link =============华丽的分割线============= ln又有软链接和硬链接 //硬链接特征(不建议创建硬链接) 1.拥有相同的i节点和存储block块,可以看做 ...
- Linux学习笔记之系统中的分区和文件系统
转自 http://blog.csdn.net/hanxuehen/article/details/8229472
随机推荐
- python 将windows字体中的汉字生成图片的方法
#encoding: utf-8import osimport pygame chinese_dir = '黑体常规'if not os.path.exists(chinese_dir): os.mk ...
- CodeChef February Challenge 2018 Broken Clock (三角函数推导 + 矩阵快速幂)
题目链接 Broken Clock 中文题面链接 令$cos(xα) = f(x)$ 根据三角函数变换公式有 $f(x) = \frac{2d}{l} f(x-1) - f(x-2)$ 我们现在 ...
- Spring Boot中使用Feign调用时Hystrix提示异常:"could not be queued for execution and no fallback available."以及"Rejected command because thread-pool queueSize is at rejection threshold"
说明: 1.我还没有真正理解Spring Cloud的精髓,现只停留在使用阶段,可能存在分析不到位的问题. 1.这个是由于线程池的最大数量导致的,官方说随着线程池的数量越大,资源开销也就越大,所以调整 ...
- 如何评价 GitHub 发布的文本编辑器 Atom?
这里是HN上的讨论:GitHub's new text editor leaked on Twitter这里是github page:Atom · GitHub 好多repo啊我不知道有没有知友了解更 ...
- 智能选择器和语义化的CSS
本文由白牙根据Heydon Pickering的<Semantic CSS With Intelligent Selectors>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之 ...
- elasticsearch 聚合时 类型转换错误
有一个域 inp_type本来为Interger类型,但有的存储了string类型; 执行这个域的聚合时, "aggs":{ "level2":{ " ...
- 2017.4.28 SSM框架搭建与配置
1.项目结构 2.配置文件 对配置文件进行总结: pom.xml web.xml -> 配置web相关 -> 读取application*.xml 5 -> 读取logback.xm ...
- Neon Intrinsics各函数介绍
#ifndef __ARM_NEON__ #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) t ...
- Linux下的各文件夹的作用(转)
linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基 ...
- Linux非阻塞IO(七)使用epoll重新实现客户端
使用poll与epoll的区别主要在于: poll可以每次重新装填fd数组,但是epoll的fd是一开始就加入了,不可能每次都重新加入 于是采用这种策略: epoll除了listenfd一开始就监听r ...