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
随机推荐
- J.U.C并发框架源码阅读(十一)DelayQueue
基于版本jdk1.7.0_80 java.util.concurrent.DelayQueue 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is su ...
- 牛客网 暑期ACM多校训练营(第一场)J.Different Integers-区间两侧不同数字的个数-离线树状数组 or 可持久化线段树(主席树)
J.Different Integers 题意就是给你l,r,问你在区间两侧的[1,l]和[r,n]中,不同数的个数. 两种思路: 1.将数组长度扩大两倍,for(int i=n+1;i<=2* ...
- #请用索引取出下面list的指定元素:
#!/usr/bin/python # -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', ...
- android利用adb修改手机的分辨率和dpi
在android开发过程中,适配更多的适配是必不可少的一步,而每次测试适配时,要么购买设配,要么模拟器,买设配太花钱,模拟器太占内存,不过幸好还可以通过修改手机的size(分辨率)和density来进 ...
- luogu P3818 小A和uim之大逃离 II
题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...
- ARC 098 C - Attention
Problem Statement There are N people standing in a row from west to east. Each person is facing east ...
- ReactNative学习笔记1 Flexbox布局
一.比例属性flex和布局方向属性flexDirection 例如三个视图的flex属性值分别为2.4.8,则它们的高度比例为2:4:8.,宽度不指定,默认为全屏的宽度. class ZLFReact ...
- linux-设置环境变量-export
Linux export命令用于设置或显示环境变量. 在shell中执行程序时,shell会提供一组环境变量.export可新增,修改或删除环境变量,供后续执行的程序使用.export的效力仅及于该次 ...
- 查看linux内核版本及操作系统版本的命令
一.查看内核版本命令: (1)[root@localhost ~]#cat/proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012.b ...
- XCode下的iOS单元测试
XCode 内置了 OCUnit 单元测试框架,但目前最好用的测试框架应该是 GHUnit.通过 GHUnit + OCMock 组合,我们可以在 iOS 下进行较强大的单元测试功能.本文将演示如何在 ...