网站首页 > 技术文章 正文
一、init和systemd
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。
在较新的linux系统上,都使用systemd 取代了init,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。systemd为系统启动和管理提供了完整的解决方案。
二、运行级别(run level)
init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。
运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到6 ,具有不同的功能。不同的运行级定义如下:
# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 – 系统保留的
# 5 - X11 (x window)
# 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )
用runlevel查看当前的运行级别:
[root@centos-160 ~]# runlevel
N 3
在过去,init是运行级别的标尺。 但是时代变了。 现在systemctl是皇帝。 所有大多数与运行级别相关的操作都是通过systemctl完成的。
$ systemctl get-default
multi-user.target
systemd类似运行级别的target有哪些?
poweroff.target (相当于runlevel 0) 关闭电源
rescue.target (相当于runlevel 1) 急救
multi-user.target (相当于runlevel 3) 多用户命令行
graphical.target(相当于runlevel 5) 图形界面
reboot.target(相当于runlevel 6) 重启
三、目录 /etc/rc.d/init.d/
目录 /etc/init.d/ 中包含许多系统服务的启动和停止脚本。
其实目录 /etc/init.d 是符号链接文件,实际上是链接到目录 /etc/rc.d/init.d,你可以通过以下命令验证:
[root@centos-160 ~]# ll /etc/init.d
lrwxrwxrwx. 1 root root 11 Apr 27 2020 /etc/init.d -> rc.d/init.d
大多数的 Linux 发行版本中,启动的是目录 /etc/rc.d/init.d/ 下的服务,这个目录下存放都是实际的服务脚本文件。
Linux 的每个运行级别,在 /etc/rc.d/ 下都有一个子目录分别是 rc0.d,rc1.d …… rc6.d,其实这些 rcN.d/ 目录下存放的都是链接到目录 /etc/rc.d/init.d/ 下部分脚本链接文件。每个级别要执行的服务就在相对应的目录下,比如级别 5 要启动的服务就都放在 rc5.d/ 下,但是放在这个 rc5.d/ 下的都是一些链接文件,链接到 /etc/rc.d/init.d/ 中相对应的实际脚本文件。
文件开头的 S 代表 start 就是启动服务的意思,后面的数字 50 就是启动的顺序。
service xxxx start|stop|restart 相当于是对 /etc/init.d/ 下的 xxxx 的封装,相当于是一个管理命令,实际执行的是 /etc/init.d/下的可执行程序。如果 /etc/init.d/下没有该服务的可执行程序,则会查找对应的 service 文件。
猜你喜欢
- 2024-10-17 Senior CPC, CPV officials hold talks in Beijing
- 2024-10-17 戴尔U2417H显示器开箱体验:不愧是完美屏,超窄边框太惊艳!
- 2024-10-17 微软 Win11/10 Linux 子系统 WSL 现已支持 systemd
- 2024-10-17 Lammps 初学者——in 文件中文解析
- 2024-10-17 虚伪的职场社交:领英变得越来越没意义了
- 2024-10-17 in ,with ,by 用法精讲(in,by,with,on的用法)
- 2024-10-17 表示时间介词汇总(1)(表示时间的介词短语)
- 2024-10-17 如何禁用Microsoft Edge的InPrivate功能
- 2024-10-17 IND 申报简单介绍#临床医学(ind临床研究申请)
- 2024-10-17 DIN 1.4021 不锈钢 X20Cr13 材料特性
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)