news 2026/8/31 13:17:09

28、Linux系统初始化程序:System V init与systemd详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
28、Linux系统初始化程序:System V init与systemd详解

Linux系统初始化程序:System V init与systemd详解

1. 引言

在Linux系统中,初始化程序(init)是系统启动过程中的关键组件,它负责启动和管理系统中的各种服务和进程。本文将详细介绍两种常见的初始化程序:System V init和systemd,并结合Yocto Project和Buildroot的相关配置进行说明。

2. System V init

System V init是一种传统的初始化程序,在Buildroot和Yocto Project中都是可选的。在这两个项目中,init脚本都去除了任何Bash shell的特定内容,因此它们可以与BusyBox的ash shell一起使用。不过,Buildroot通过用System V init替换BusyBox init程序,并添加模仿BusyBox行为的inittab文件,来实现这一功能。需要注意的是,Buildroot除了切换到级别0或6会停止或重启系统外,并没有实现完整的运行级别。

2.1 inittab文件

init程序首先会读取/etc/inittab文件,该文件包含定义每个运行级别下要执行的操作的条目。其格式是BusyBox inittab的扩展版本,这并不奇怪,因为BusyBox最初就是从System V借鉴而来的。

inittab中每行的格式如下:

id:runlevels:action:process

各字段含义如下:
-id

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 13:19:48

31、进程与线程学习指南

进程与线程学习指南 1. 进程基础 进程为线程的运行提供环境,包含内存映射、文件描述符、用户和组 ID 等信息。系统启动时,内核会创建初始进程 init ,其 PID 为 1。后续进程通过 fork 操作复制创建。 创建新进程可使用 POSIX 函数 fork(2) ,该函数每次成功调用会有…

作者头像 李华
网站建设 2026/8/30 1:24:41

33、进程、线程与内存管理全解析

进程、线程与内存管理全解析 1. 进程与线程调度策略 在系统中,线程的调度策略是多样化的,不同的策略适用于不同的场景。 - SCHED_IDLE 策略 :这是优先级最低的调度策略,只有当没有其他调度策略的线程准备好运行时,SCHED_IDLE 线程才会被执行。 - 获取和设置线程策略…

作者头像 李华
网站建设 2026/8/29 13:25:35

前端主题切换实战:用 Scss !default 与 Less 覆盖轻松搞定多皮肤

前端主题切换实战:用 Scss !default 与 Less 覆盖轻松搞定多皮肤前端主题切换实战:用 Scss !default 与 Less 覆盖轻松搞定多皮肤为什么前端开发者总在为换肤头疼Scss 和 Less 在主题管理中的角色初探!default 到底是什么?Scss 中的默认值魔法…

作者头像 李华
网站建设 2026/8/31 3:57:34

37、用户按键监控与审计指南

用户按键监控与审计指南 在大多数大型机构中,至少偶尔会有监控用户操作的需求。比如对拥有系统根访问权限或其他管理类型账户(如 Oracle)的用户按键进行审计。现场承包商可能带来特定安全风险,通常新应用引入时,会有一两名承包商在现场进行安装、故障排除和人员培训。 1…

作者头像 李华
网站建设 2026/8/31 20:10:14

44、浮点数计算与数字进制转换脚本

浮点数计算与数字进制转换脚本 1. 创建 float_average.ksh 脚本 1.1 修改已有脚本 我们可以在之前的加法脚本基础上做一些小修改,来实现对一系列数字求平均值的功能。主要修改如下: - 添加变量 TOTAL_NUMBERS :为了计算平均值,我们需要知道数字列表中数字的总数,这…

作者头像 李华