`

ubuntu的启动级别

阅读更多

       在linux的世界里,所有的linux操作系统都有一个启动级别的概念,启动级别控制着系统启动后所加载的各种功能的不同,实质是在启动后运行各种服务(servcie||daemon)。这里的服务是和windows里的服务的概念相似的,是一种在系统后台独立运行的程序,也就是说他一般不予用户进行交互。

       一般的linux分8个级别:0-6和一个'S'级别。0代表关机(halt),6代表重启(restart);1-5分别是不同功能的级别,其中1级别是单用户模式(single),2-5各有不同。但是在userlinux(包括ubuntu)中2-5级别是毫无差别的。最后'S'级别是一个比较特殊的级别,他应该是先于其他级别运行的级别。(这一点有待考证)。这里说明一下,0-6级别的运行是互斥的,而不是叠加运行,也就是说如果进入(move into)4级别,不是指0-3都要运行,而只是完成4级别里所规定的服务。

       稍微观的观察ubuntu运行级别的完成会发现,所有的运行服务的脚本存储在/etc/init.d/里面。而在/etc/中有rc'X'.d的文件夹,'X'代表0-6和X,也就对应了这8个启动级别,里面就都是指向/etc/init.d/里面运行服务的脚本的软连接(symbol link),会发现,软连接的数目少于运行脚本数,这就是说不是所有服务都要在一个级别中运行的。软连接的命名是有规则的:[K|S][0-90-9][name],K代表kill,S代表start,后面是个二位数,最后是对应的运行服务的脚本文件名。这个名字是在运行相应的脚本的时候传递的参数,K是传递stop(就是关闭服务),S是传递start(就是启动服务)。
运行顺序:K小数->K大数->S小数->S大数。这里注意文件夹里的所有软连接都会被执行,不论K或者S。

       这里补充一下,多数的linux都是用一种叫System V的机制来启动运行级别(好像是串行的,慢?),而ubuntu是用的另一种机制叫startup(好像是并行的,快?),所以没有那个inittab文件改默认运行级别。ubuntu9.10前好像还能兼容inittab,但是9.10开始就不行了,而且9.10里面设置默认运行级别的文件都和ubuntu之前的版本不同。ubuntu 9.10 的默认运行级别文件是这个/etc/init/rc-sysinit.conf的14行。

       如果想要删除某个运行级别所要运行的服务,可以把相应rcX.d文件夹里的软连接名字的第一个字母小写(这个是debian的文章推荐的做法,也是bum的做法),也可以删除这个软连接(这个是sysv-rc-conf的做法)。当然自己也可以写好脚本然后创建软连接,就可以添加服务了。
分享到:
评论

相关推荐

    Ubuntu 添加删除开机启动项的操作方法

    主要介绍了Ubuntu 添加删除开机启动项的操作方法,包括linux系统启动步骤和运行级别,具体内容详情大家参考下本

    如何解决Ubuntu18.04循环登录/卡在开机界面/无法进入图形界面的问题

    系统启动后,在BIOS引导界面按”ESC”键进入选择菜单,选择第一个”*Ubuntu”,按”e”键进入编辑模式。 在出现的编辑项里,可以看到GRUB解析给内核的参数。我们在该行末尾给出引导运行级别,3(多用户模式,纯文本...

    ubuntu部落 经典linux入门教程

    更改运行级别.........................................46 服务管理.........................................................47 更改启动服务.........................................47 手动控制服务........

    L/UNIX运行级别详解

    0:关机级别 1:单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本 2:多用户,但系统不会启动NFS,字符模式,在有些linux系统中,级别2为默认模式,具有网络功能,如ubuntu.debian

    ubuntu部落(适合初学者,可以作为初学者的手册)

    更改运行级别.........................................46 服务管理.........................................................47 更改启动服务.........................................47 手动控制服务...........

    大数据课程体系.pdf

    Linux 启动流程,运行级别详解,chkconfig 详解 nano 编辑器 Linux 权限管理:用户、组 Linux 权限管理:文件权限 rwx Linux 网络管理:hosts,hostname,ifconfig 安装 JDK Hadoop Hadoop 介绍,发展史,国内外现状...

    Ubuntu系统下用Crontab命令定时执行PHP文件详解

    包含一些系统级别的任务,当然用户也可以直接借用该命令来实现自己的一些计划任务。 该命令一般跟随系统启动,我们可以使用一下命令来查看是否cron是否启动 pgrep cron 如果启动了,会返回一个进程id Crontab文件...

    browse-ocrd:OCR-D mets.xml文件的可扩展查看器

    显示原始图像或派生图像(在结构层次结构的任何级别上的AlternativeImage ) 一次显示不同页面(水平)或不同片段(垂直)的多幅图像,自由缩放 显示带有语法高亮显示的原始 ,可通过打开 显示串联的文本注释 显示...

    ChessSweeper

    象棋扫地机服务器代码位于 。... 启动NGINX。 在Windows上,打开命令提示符并运行$INSTALL_LOCATION$\nginx.exe 。 在Ubuntu上,运行sudo systemctl start nginx 。 打开Web浏览器,然后导航到localhost 。

    ansible-consul-demo:Consul&Ansible演示@纽约AnsibleFest,2015年。

    在AWS(或任何其他托管)上启动一些Ubuntu服务器 在提供的hosts文件中编辑服务器的IP(与该README处于同一级别)。 请确保指出公共IP。 确保还编辑group_vars/all.yml并输入分配给领事服务器的所有服务器的IP。 ...

    init-script:为您的 docker 容器构建生成并安装一个 init 脚本,使它们作为基于 Debian 的服务运行

    这将快速轻松地生成一个通用的 docker init 脚本,能够将所有 docker 命令转发到 docker 实例,并包括对启动、停止、重启的支持,以便基于 Debian 的系统能够在适当的运行级别安全地启动和关闭实例启用时。...

    precision-experiments

    通常,针对Java的性能测试需要多个vm启动,并且在此多个vm启动中执行热身执行,测量执行,并且如果测试用例很小(我们认为已给出),则需要进行测试用例重复。 在这个项目中,您可以选择一个任意的精度级别,并使用...

    MATLAB典型环节代码-ShenTootoonianLaurent2013:该存储库包含用于生成Shen等人的“简单嗅觉系统中混合物的编码”

    现在,它应位于与code文件夹相同的级别。 启动MATLAB,cd到安装根目录,然后运行install(); 该脚本将设置包的根目录并编译一个mex文件。 请注意,如果您在运行install()之前在安装根目录中启动MATLAB,则MATLAB将...

    cangallo:虚拟机映像管理器

    它的存储库以类似于Docker的方式保存映像和派生映像的增量,但以块级别而非文件级别保存。 它可以在任何Linux风格上正常Linux但我们建议使用Ubuntu或CentOS 。 警告:当心,仍处于早期阶段,可能会导致崩溃,数据...

    mmagedit:微型法师编辑器

    Linux :请参见下面的“启动(Ubuntu)”。 GUI用法落后请注意,GUI中的某些功能有些滞后。最显着的是,更改缩放级别和关闭子窗口可能会导致很多滞后。将来可能会找到对此的优化,但是与此同时,请耐心等待。用户还...

    kssthread:c ++线程实用程序

    相反,此库建立在标准线程库的基础上,添加了一些缺失的项目以及更高级别的线程结构。 该库中的某些功能包括: ActionQueue允许将操作(lambda)排队等待在单个线程上运行,可能会有计时器延迟。 ActionThread...

    haldane:aws api的友好http界面

    我们的makefile应该安装在Ubuntu 14.04或Mac OS X 10.9+环境中运行此服务所需的一切。 在虚拟机上 一旦安装了vagrant和virtualbox,就可以启动安装了该服务的虚拟机: cd path/to/haldane vagrant up 默认情况下...

    capsule-shield:集装箱瓶盖

    一个,会启动在轻量级容器。 目前, capsule-shield在Linux上支持 。 要求 除了: 正确安装的LXC工具,包括用于非特权支持的其他工具(对于Ubuntu,请参见例如 ) 其他(相当基本的)工具,例如dhclient , tar ...

    dspic33e-bootloader:dsPIC33E CAN (CANopen) 和 UART 引导加载程序

    特征dsPIC33E/PIC24E 使用串行或 CAN 连接编程用 Python 编写的客户端(主机),带有 C 和 Python 中可用的 CAN 上传器CANopen 兼容UART 使用 1 个内存页,CAN 使用 2 或 3 个(取决于优化级别)页在 Linux (Ubuntu)...

    harvesterseasons-smartmet:用于Harvesterseasons.com服务的SmartMet服务器组件

    首先准备与该克隆目录(../data)和ln -s smartmet-server/config ../config相同级别的数据目录,然后让ln -s smartmet-server/config ../config -compose生成并运行其他所有内容。 启动所有服务(即使使用--...

Global site tag (gtag.js) - Google Analytics