Linux的0号进程、1号进程、2号进程

news/2025/2/12 1:11:33/

Linux的0号进程、1号进程、2号进程

    • 一、0号进程:系统的“创世进程”
    • 二、1号进程:用户空间的“根进程”
    • 三、2号进程:内核线程的“管家”
    • 四、三者的关系与进程树
    • 五、查看这些进程
    • 六、总结

在 Linux 系统中,0号进程1号进程2号进程是内核初始化过程中创建的特殊进程,它们在系统运行中扮演着关键角色


一、0号进程:系统的“创世进程”

  • 作用
    0号进程是 Linux 内核启动时创建的第一个进程(PID=0),由内核代码直接生成,没有对应的用户空间程序。它的核心任务是:
    1. 初始化系统:创建 1号进程(init/systemd)和 2号进程(kthreadd)。
    2. 调度空闲任务:当 CPU 没有其他任务时,运行“空闲循环”(idle loop),降低功耗。
  • 特点
    • 不显示在进程列表(如 ps 命令)中,属于内核的一部分。
    • 常被称为 swapperidle 进程。

二、1号进程:用户空间的“根进程”

  • PID=1,是用户空间所有进程的直接或间接父进程
  • 职责
    1. 初始化用户空间:挂载文件系统、启动系统服务(如网络、日志等)。
    2. 孤儿进程收养:接管父进程已终止的子进程,防止僵尸进程。
  • 演变
    • 传统系统:使用 init(SysV init),如 /sbin/init
    • 现代系统:多数 Linux 发行版改用 systemd(兼容 init 角色,但功能更强大)。
  • 重要性:若 1号进程终止,内核会触发系统恐慌(kernel panic)。

三、2号进程:内核线程的“管家”

  • PID=2,名为 kthreadd,负责创建和管理内核线程
  • 职责
    1. 生成内核线程:如硬件交互(ksoftirqd)、文件系统同步(jbd2)、内存管理(kswapd)等。
    2. 维护内核任务:内核线程以 [kworker][kthreadd] 形式出现在进程列表。
  • 特点
    • 由 0号进程直接创建,运行在内核空间。
    • 用户无法通过常规方式杀死内核线程(需 kill -9 也无法终止)。

四、三者的关系与进程树

  1. 启动顺序
    0号进程 → 创建 → 1号进程(init/systemd)和 2号进程(kthreadd)。
  2. 进程树结构
    0号进程 (swapper/idle)
    ├── 1号进程 (init/systemd) → 用户空间进程(如 bash、sshd)
    └── 2号进程 (kthreadd) → 内核线程(如 kworker、ksoftirqd)
    
  3. 分工明确
    • 0号进程:内核级任务(调度、初始化)。
    • 1号进程:用户空间服务管理。
    • 2号进程:内核后台任务管理。

五、查看这些进程

  • 使用 ps -ef | grep -E 'PID|1|2' 可看到 systemd(或 init)和 kthreadd
    PID PPID CMD1    0 /sbin/init2    0 [kthreadd]
    
  • 0号进程不会直接显示,但可通过 top 查看 CPU 空闲时的 idle 状态。

六、总结

  • 0号进程:内核的“启动器”和“调度员”。
  • 1号进程:用户空间的“大管家”,决定系统服务生命周期。
  • 2号进程:内核的“后勤主管”,管理后台任务。

http://www.ppmy.cn/news/1571290.html

相关文章

[Deepseek+Heygen+剪映]快速生产数字人讲解的视频内容

在当今这个视频内容爆炸的时代,如何快速、高效地生产高质量的视频内容成为了许多内容创作者的焦点。特别是对于需要大量讲解类视频的场景,例如产品介绍、知识科普、在线教育等,传统真人出镜的方式往往耗时耗力。 而 数字人 技术的出现&#…

LLM Note

PreNorm vs PostNorm Transformer Layer中有两处残连接,分别是网络输入 x \boldsymbol x x与SelfAttention层和MLP/FFN层的输出。 前标准化: 标准化在残连接add之前,即对SelfAttention/MLP层的输入进行标准化,将其输出再与输入相…

学前端框架之前,你需要先理解 MVC

MVC 软件架构设计模式鼎鼎大名,相信你已经听说过了,但你确定自己已经完全理解到 MVC 的精髓了吗? 如果你是新同学,没听过 MVC,那可以到网上搜一些文章来看看,不过你要有心理准备,那些文章大多都…

纯前度(vue)实现对pdf\mp4\png\jpg\jpegxls\doc\txt文件预览,无需要转化

我们知道要想在前端预览文件,可以通过浏览器自带的预览功能,我们只要window.open(ulr) 就可以实现对文件的预览,但是对于一些特殊的文件,目前很多浏览器的预览功能还是不支持的,今天我们就在纯前端来实现对这些文件的预…

【LeetCode 热题100】74:搜索二维矩阵(二分、线性两种方式 详细解析)(Go 语言实现)

🚀 力扣热题 74:搜索二维矩阵(详细解析) 📌 题目描述 力扣 74. 搜索二维矩阵 给你一个满足下述两条属性的 m x n 整数矩阵 matrix : 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的…

LSSVM最小二乘支持向量机多变量多步光伏功率预测(Matlab)

代码下载:LSSVM最小二乘支持向量机多变量多步光伏功率预测(Matlab) LSSVM最小二乘支持向量机多变量多步光伏功率预测 一、引言 1.1、研究背景与意义 随着全球能源危机和环境问题的日益严重,可再生能源的开发利用成为了世界各国…

Day62_补20250210_图论part6_108冗余连接|109.冗余连接II

Day62_20250210_图论part6_108冗余连接|109.冗余连接II 108冗余连接 【把题意转化为并查集问题】 题目 有一个图,它是一棵树,他是拥有 n 个节点(节点编号1到n)和 n - 1 条边的连通无环无向图(其实就是一个线形图&am…

Vue 3 30天精进之旅:Day 16 - 组合式API进阶

友情提示:本文内容全部由 银河易创(https://ai.eaigx.com)AI创作平台生成,仅供参考。请根据具体情况和需求进行适当的调整和验证。 欢迎来到“Vue 3 30天精进之旅”的第16天!今天我们将深入探讨 组合式API 的进阶用法&…