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 ...
随机推荐
- Sass 愿景
在最近的一个 CSS 见面会上,我向与会者提问,“有人会在日常的工作流中使用 Sass 吗?”回答结果压倒性的表示肯定——保守谨慎地使用 Sass 已经成为过去式.Sass 正迅速成长为编写 CSS ...
- C# string.Empty
在C#中,如果赋值一个字符串为空白字符串,我们一般会用“”的形式对字符串进行赋值操作,其实在C#的字符串类String类中,有个专门的常量string.Empty来代表空字符串,可直接在赋值的时候使用 ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B
Arpa is taking a geometry exam. Here is the last problem of the exam. You are given three points a, ...
- php:获取一个表不含text类型的全部字段
select * from table 这个*用表具体的字段替换 $sql="show COLUMNS FROM table"; $rs=query($sql); while($r ...
- HDU 2243 考研路茫茫——单词情结 求长度小于等于L的通路总数的方法
http://acm.hdu.edu.cn/showproblem.php?pid=2243 这是一题AC自动机 + 矩阵快速幂的题目, 首先知道总答案应该是26^1 + 26^2 + 26^3 .. ...
- 电脑Bois中usb模式启动热键
组装机主板 品牌笔记本 品牌台式机 主板品牌 启动按键 笔记本品牌 启动按键 台式机品牌 启动按键 华硕主板 F8 联想笔记本 F12 联想台式机 F12 技嘉主板 F12 宏基笔记本 F12 惠普台 ...
- AJPFX辨析continue与break的区别
1.break : (1).结束当前整个循环,执行当前循环下边的语句.忽略循环体中任何其它语句和循环条件测试.(2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用br ...
- oo第三单元总结
JML梳理 1. JM语法一般结构 public instance //jml中操作数据,并不要求实现 public invariant //不变式 public constraint //约束 no ...
- ECShop怎么首页调用文章列表
举例如首页调用方法:1.先打开index.php文件找到以下代码:$smarty->assign('new_articles', index_get_new_articles()); // 最新 ...
- 判断浏览器是pc端还是移动端
var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; retu ...