init0-6(启动级别)
一. init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。
二. init一共分为7个级别,这7个级别的所代表的含义如下
0:停机或者关机(千万不能将initdefault设置为0)
1:单用户模式,只root用户进行维护
2:多用户模式,不能使用NFS(Net File System)
3:完全多用户模式(标准的运行级别)
4:安全模式
5:图形化(即图形界面)
6:重启(千万不要把initdefault设置为6)
其实,可以通过查看/etc/rc.d/中的rc*.d的文件来对比理解。。
init 0,对应的系统会运行,/etc/rc.d/rc0.d里指定的程序。我们来看下名称。
[root@localhost~]# ls /etc/rc.d/rc0.d
K01dnsmasqK15ksmtunedK35nmbK60crondK74lm_sensorsK83portreserveK85rpcgssdK88iscsiK90network S00killall
K10cupsK16ksmK35smbK66gpsdK75netfsK84NetworkManagerK85rpcidmapdK88rsyslogK92ip6tables S01halt
K10saslauthdK20nfsK36mysqldK69rpcsvcgssdK75udev-postK84wpa_supplicantK86nfslockK89iscsidK92iptables
K10xfsK25sshdK50haldaemonK70vboxdrvK76openvpnK85mdmonitorK87alsasoundK89netplugdK98qemu
K15gpmK30sendmailK50netconsoleK74acpidK83bluetoothK85messagebusK87rpcbindK89rdiscK99lvm2-monitor
依照上述红色字体,开机会执行的两个进程是killall和halt,这两个都表示为终止进程。故init 0是用于表示关机的。
init 1,对应的系统会运行,/etc/rc.d/rc1.d里指定的程序。
[root@localhost ~] # ls /etc/rc.d/rc1.d
K01dnsmasqK15ksmtunedK35nmbK60crondK74lm_sensorsK84NetworkManagerK85rpcidmapdK88rsyslogK92ip6tablesS99single
K10cupsK16ksmK35smbK66gpsdK75netfsK84wpa_supplicantK86nfslockK89iscsidK92iptables
K10saslauthdK20nfsK36mysqldK69rpcsvcgssdK76openvpnK85mdmonitorK87alsasoundK89netplugdK98qemu
K10xfsK25sshdK50haldaemonK70vboxdrvK83bluetoothK85messagebusK87rpcbindK89rdiscS02lvm2-monitor
K15gpmK30sendmailK50netconsoleK74acpidK83portreserveK85rpcgssdK88iscsiK90networkS26udev-post
这个级别启动的服务有三个,udev、lvm相关的和single(单用户模式的服务)。故此级别是单用户模式,只有root能用,不支持其他用户。
init 2,对应的系统会运行,/etc/rc.d/rc2.d里指定的程序。
[root@localhost ~ ]# ls /etc/rc.d/rc2.d/
K01dnsmasqK20nfsK36mysqldK74lm_sensorsK85rpcgssdK89netplugd S08iptablesS23NetworkManagerS30vboxdrvS99local
K10saslauthdK25sshdK50haldaemonK75netfsK85rpcidmapdK89rdisc S12rsyslogS24portreserveS35qemu
K10xfsK30sendmailK50netconsoleK76openvpnK86nfslockK90networkS13rpcbindS25cupsS85gpm
K15ksmtunedK35nmbK66gpsdK83bluetoothK88iscsiS02lvm2-monitorS15mdmonitorS26acpidS90crond
K16ksmK35smbK69rpcsvcgssdK84wpa_supplicantK89iscsid S08ip6tablesS22messagebusS26udev-postS99alsasound
这个级别启动的服务多了,NetworkManager/iptables/acpid/alsa都已经开启,但是nfs,smb,openvpn相关服务没有开启,这个级别不支持nfs。
init 3 , 对应的系统运行/etc/rc.d/rc3.d
[root@localhost ~] # ls /etc/rc.d/rc3.d/
K01dnsmasqK30sendmailK74lm_sensorsK89rdiscS08iptablesS18rpcidmapdS25cupsS35qemuS85ksmtunedS99local
K10saslauthdK36mysqldK76openvpnK90network S12rsyslogS19rpcgssdS25netfsS50bluetoothS90crond
K10xfsK50netconsoleK84wpa_supplicantK99lvm2-monitorS13iscsiS22messagebusS26acpidS50haldaemonS91nmb
K20nfsK66gpsdK85mdmonitorS07iscsidS13rpcbindS23NetworkManagerS26udev-postS84ksmS91smb
K25sshdK69rpcsvcgssdK89netplugd S08ip6tablesS14nfslockS24portreserveS30vboxdrvS85gpmS99alsasound
这个级别nfs服务是开启的,被成为完全多用户模式。
init 4
[root@localhost ~ ]# ls /etc/rc.d/rc4.d/
K01dnsmasqK30sendmailK66gpsdK85mdmonitorS07iscsidS13rpcbindS23NetworkManagerS26udev-postS84ksmS99local
K10saslauthdK35nmbK69rpcsvcgssdK89netplugd S08ip6tablesS14nfslockS24portreserveS30vboxdrvS85gpm
K10xfsK35smbK74lm_sensorsK89rdiscS08iptablesS18rpcidmapdS25cupsS35qemuS85ksmtuned
K20nfsK36mysqldK76openvpnK90network S12rsyslogS19rpcgssdS25netfsS50bluetoothS90crond
K25sshdK50netconsoleK84wpa_supplicantK99lvm2-monitorS13iscsiS22messagebusS26acpidS50haldaemonS99alsasound
此模式被称为安全模式。
init 5
[root@localhost ~ ]# ls /etc/rc.d/rc5.d/
K01dnsmasqK25sshdK66gpsdK84wpa_supplicantK87rpcbindK90networkS22messagebusS26udev-postS84ksmS99local
K10saslauthdK30sendmailK69rpcsvcgssdK85mdmonitorK88iscsiK99lvm2-monitorS23NetworkManagerS30vboxdrvS85ksmtuned
K10xfsK36mysqldK74lm_sensorsK85rpcgssdK89iscsidS08ip6tablesS25cupsS35qemuS91nmb
K15gpmK50netconsoleK76openvpnK85rpcidmapdK89netplugdS08iptablesS25netfsS50bluetoothS91smb
K20nfsK60crondK83portreserveK86nfslockK89rdiscS12rsyslogS26acpidS50haldaemonS99alsasound
完整的图形模式
init 6
[root@localhost ~ ]# ls /etc/rc.d/rc6.d/
K01dnsmasqK15ksmtunedK35nmbK60crondK74lm_sensorsK83portreserveK85rpcgssdK88iscsiK90networkS00killall
K10cupsK16ksmK35smbK66gpsdK75netfsK84NetworkManagerK85rpcidmapdK88rsyslogK92ip6tablesS01reboot
K10saslauthdK20nfsK36mysqldK69rpcsvcgssdK75udev-postK84wpa_supplicantK86nfslockK89iscsidK92iptables
K10xfsK25sshdK50haldaemonK70vboxdrvK76openvpnK85mdmonitorK87alsasoundK89netplugdK98qemu
K15gpmK30sendmailK50netconsoleK74acpidK83bluetoothK85messagebusK87rpcbindK89rdiscK99lvm2-monitor
这个级别里,只有两个服务,一个为killall,一个是reboot,即,关闭现在的系统,重启。故此级别是重启。
不同的系统版本,可能里面的文件会不同,如果要查看,可以通过ll来看,其实他们都是软连接。
init0-6(启动级别)的更多相关文章
- 修改Linux默认启动级别或模式的方法
冲动的惩罚: 海阔天空: 在linux系统的7种启动级别,默认为X-Window,类似于Windows的窗口模式. 如何修改或变更linux的默认启动级别或模式呢? 以root身份进入Linux,修改 ...
- Ubuntu优化-修改启动级别
一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...
- CentOS(四)--Linux系统的启动级别
对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等.但是通常我们刚安装完Linux系统,然后进去以后是 ...
- Linux启动级别
一共有7种启动级别,分别为: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Mult ...
- 系统的启动模式(启动级别)的改动---使用upstart启动机制的
/********************************************************************* * Author : Samson * Date ...
- centos修改默认启动级别
Linux分为7个启动级别: 0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - 图形界面 6 - 系 ...
- CentOS7修改默认启动级别
如上个随笔所言,Linux分为7个启动级别: 0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - 图形 ...
- Linux init 0-6 启动级别
原文地址:http://blog.sina.com.cn/s/blog_5f8e8d9801010wlr.html 原文地址:[转]Linux init 0-6 启动级别作者:流水清风 init 0- ...
- CentOS7 修改 启动级别
1. centos7 之前应该使用init 的启动脚本 不支持并行 速度比较慢, centos7 开始使用systemd 的模式 提高了开机的性能 所以之前的init 脚本修改 启动级别应该就无效了 ...
- [svc][op]Ubuntu优化-服务管理(启动级别)
一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...
随机推荐
- css各种水平垂直居中
css各种水平垂直居中,网上查了一下,总结以下几种 line-height垂直居中 缺点,仅限于单行文字 .item{ text-align: center; height: 100px; line- ...
- C#代码规范整理
命名规范制定意义 1. 方便代码的交流和维护,便于日后自己的再次阅读. 2. 不影响编码的效率,不与大众习惯冲突. 3. 使代码更美观.阅读更方便. 4. 使代码的逻辑更清晰.更易于理解. 名词解释 ...
- NSwag生成客户端调用代码
NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码 https://www.cnblogs.com/hunanzp/p/9297361.html 前言 上一篇博客中我们 ...
- 056 Merge Intervals 合并区间
给出一个区间的集合, 请合并所有重叠的区间.示例:给出 [1,3],[2,6],[8,10],[15,18],返回 [1,6],[8,10],[15,18].详见:https://leetcode.c ...
- scrapy-redis 分布式哔哩哔哩网站用户爬虫
scrapy里面,对每次请求的url都有一个指纹,这个指纹就是判断url是否被请求过的.默认是开启指纹即一个URL请求一次.如果我们使用分布式在多台机上面爬取数据,为了让爬虫的数据不重复,我们也需要一 ...
- xxx cannot be resolved to a type
1.jdk不匹配(或不存在) 项目指定的jdk为“jdk1.6.0_18”,而当前eclipse使用的是“jdk1.6.0_22”.需要在BuildPath | Libraries,中做简单调 ...
- Java 数字数组随机数工具类 NumberUtils、ArrayUtils、RandomUtils用法
commons-lang3-3-3.8.1 //----------------------------------------------------------------------- /** ...
- AtCoderBeginnerContest109题解
第一次AK,真爽qwq A 很zz啊,,直接判断三种情况就行 /* */ #include<iostream> #include<cstdio> #include<cst ...
- Webpack 入门学习
1.什么是Webpack? Webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等 ...
- centos 安装 rtmp nginx 视频流服务器
---恢复内容开始--- 1.使用yum安装git yum -y install git 2.下载nginx-rtmp-module,官方github地址 // 通过git clone 的方式下载到服 ...