1、linux通过设定runlevel来设定系统使用不同的服务启动,从而使得linux运行的环境有所不同。

2、当系统启动后会按照以下步骤完成初始化:运行/sbin/init程序加载器配置文件/etc/inittab,根据配置文件来决定要以哪个/etc/rc.d/rc#.d脚本,完成初始化

(/sbin/init→/etc/inittab→/etc/rc.d/rc#.d)。

3、/etc/inittab文件内容如下  

# Default runlevel. The runlevels used are:
# - halt (Do NOT set initdefault to this) ###系统直接关机,不能将其设置成默认运行级别。
# - Single user mode ###单用户模式,系统故障时用于维护
# - Multiuser, without NFS (The same as , if you do not have networking)   ####多用户模式但是没有NFS
# - Full multiuser mode ###完全的多用户模式,含有网络功能的纯文本模式,可以设置成默认运行级别
# - unused ####系统保留
# - X11 ####与runlevel3类似,但是可以使用xwindows,可以设置成默认运行级别
#  - reboot (Do NOT set initdefault to this) ###系统重启,不能将其设置成默认运行级别
 id::initdefault:

  ①文件中有0-6七个运行级别

  ②id:5:initdefault: 代表开机后系统默认运行与5级别,并使用/etc/rc.d/rc5.d/*完成运行环境初始化

  ③切换系统运行级别:runlevel #

    例如runlevel 35

  ④查看运行级别:who -r或runlevel

4、/etc/rc.d/rc5.d/目录下有以下文件

  ①K开头的文件代表系统初始化时要关闭的服务

  ②S开头的文件代表系统初始化时要启动的服务

  ③这些文件都被链接至/etc/init.d/目录下

  

5、/etc/rc.d/rc#.d/*下的脚本被称为rc脚本,并且他们都被链接至了/etc/init.d/下。

  ①rc脚本可以接受参数   {start | stop | restart | status },从而控制服务

  ②当使用yum安装完服务时,我们使用/etc/init.d/SERVER_NAME  {start | stop | restart | status }来改变服务运行状态。

  ③之所以,在centos6上使用service SERVER_NAME  {start | stop | restart | status }来改变服务运行状态,是因为service命令能够找到/etc/init.d/下的服务名,以致可以用  service命令,改变服务运行状态。

6、那么开机自启是如何实现的呢?

  其实,要达到开机自启的目的,需要将/etc/init.d/的服务链接至 /erc/rc.d/rc#.d/下。创建链接不必使用ln,使用装有命令chkconfig即可。

7、chkconfig命令使用语法

NAME
chkconfig - updates and queries runlevel information for system services SYNOPSIS
查看:chkconfig [--list] [name]
添加:chkconfig --add name
删除:chkconfig --del name
修改指定的链接类型:chkconfig [--level levels] name <on|off|reset|resetpriorities>

  示例,将vsftpd添加到自启动。

[root@localhost rc5.d]# service httpd status
httpd.worker (pid 3076) 正在运行...
[root@localhost rc5.d]# ls /etc/init.d/httpd
/etc/init.d/httpd
[root@localhost rc5.d]# ls /etc/rc.d/rc5.d/|grep httpd ###可以看到httpd是以K开头的即开机后不会自动启动
K15httpd
[root@localhost rc5.d]# chkconfig httpd on ###使用chkconfig命令设置开机自启
[root@localhost rc5.d]# ls /etc/rc.d/rc5.d/|grep httpd
S85httpd

补充知识。

  当系统一句/etc/rc.d/rc#.d/*,初始化完成后,还会去读取/etc/rc.d/rc/local(链接至/etc/rc.local)。一些不便或不需要写服务脚本的程序,若希望它能开机自动运行,可以将其写入rc.local脚本中。  

  

  

linux runlevel运行级别的更多相关文章

  1. Linux runlevel 运行级别

    runlevel可以认为是系统状态,形象一点,您可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和Command prompt only. Linux系统 ...

  2. Linux的运行级别和chkconfig用法

    Linux的运行级别和chkconfig用法        一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简 ...

  3. Linux系统——运行级别

    学习之前先了解下Linux系统的运行级别和其原理,博主使用的是Linux系统中的Redhat9.0版本,之后的学习也是基于这个系统版本. Linux系统的7个运行级别(runlevel) 运行级别0: ...

  4. Linux系统运行级别配置

    Linux的运行级别 Linux的运行级别有七种,可以通过查看/etc/inittab文件进行了解: Level0:系统停机状态,默认系统运行级别不能设置为0,否则系统不能正常启动: Level1:单 ...

  5. linux 系统运行级别(转)

    Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多 ...

  6. Linux的运行级别和设置开机启动服务的方式

    Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...

  7. 『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别

    目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默 ...

  8. Linux系统运行级别和关机重启命令介绍

    Linux系统运行级别介绍 Linux系统有七种运行级别(Run Level),各个运行级别下,系统有不同的状态,各个级别的意义描述如下. 0:关键级别1:单用户运行级别,运行rc.sysinit和r ...

  9. linux 系统运行级别及修改[转]

    Linux运行级别从0-6,共7个. 0:关机.不能将系统缺省运行级别设置为0,否则无法启动. 1:单用户模式,只允许root用户对系统进行维护. 2:多用户模式,但不能使用NFS(相当于Window ...

随机推荐

  1. 让你的sql开启氮气加速

    事情的过程是:公司有一个上百行的sql 运行在MySQL数据库,速度奇慢无比,逻辑乱七八糟,我就不贴出来了,经过这次修改想总结一下如何写一个不被人骂的sql. 说一些被人诟病的问题: 一.子查询 把你 ...

  2. 路由器配置深入浅出—路由器接口PPP协议封装及PAP和CHAP验证配置

    知识域: 是针对点对点专线连接的接口的二层封装协议配置 PPP的PAP和CHAP验证,cpt支持,不一定要在gns3上做实验. 路由器出厂默认是hdlc封装,修改为ppp封装后,可以采用pap验证或者 ...

  3. 【IT教程-Oracle】尚观Oracle白金级入门教程

    链接: https://pan.baidu.com/s/1GMncQN6mpgaH3hZQjGelaA 提取码: qu6j

  4. 星空:差分,状压dp

    总算不再是能用暴力卡常/随机化水过的好T3了. 说是打了两个标签,实际上最关键的是题意转化. 如果你丝毫不转化的话也可以: #include<bits/stdc++.h> using na ...

  5. Python基础语法,他其实很贵!

    # -*- coding:utf-8 -*- # @Time :2019/7/19 11:26# @Author :ITester# @Email :1036881587@qq.com# @File ...

  6. 建议收藏备用:.net core使用QRCoder生成普通二维码和带Logo的二维码详细使用教程,源码已更新至开源模板

    随着互联网越来越生活化,二维码的使用越来越普遍,不论是扫码支付还是扫码关注引流,似乎我们总是离不开二维码,那么很多需要推广的文章或社区想要自己的二维码,那么你是不是需要在网站直接提供给用户呢?很多开发 ...

  7. P2114 [NOI2014]起床困难综合症

    #include<iostream> #include<cstdio> using namespace std; ; ]; long long n,m; long long t ...

  8. 识别手写数字增强版100% - pytorch从入门到入道(一)

    手写数字识别,神经网络领域的“hello world”例子,通过pytorch一步步构建,通过训练与调整,达到“100%”准确率 1.快速开始 1.1 定义神经网络类,继承torch.nn.Modul ...

  9. python函数的基本语法<一>

    函数: 一次定义,多次调用,函数可以变相看成变量函数的阶段: 1.定义阶段 2调用阶段 形参和实参: 定义阶段的参数叫形参,调用阶段的参数叫实参 函数的几种基本用法: #多变量 def test(na ...

  10. 使用Rider中搭建specflow+xunit+selenium对web页面进行自动化功能测试环境

    运行rider,创建测试解决方案,选择xunit,点击create创建 ​   导入包,由于本人使用chrome浏览器(需先下载好对应的浏览器驱动),所以导入了selenium.webdriver.c ...