当前位置: 首页 > article >正文

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

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 CMD
      1    0 /sbin/init
      2    0 [kthreadd]
    
  • 0号进程不会直接显示,但可通过 top 查看 CPU 空闲时的 idle 状态。

六、总结

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

http://www.kler.cn/a/544333.html

相关文章:

  • gitlab无法登录问题
  • Unity3D 类MOBA角色控制器 开箱即用
  • Wpf美化按钮,输入框,下拉框,dataGrid
  • 性格测评小程序04题库管理
  • 接入 SSL 认证配置:满足等保最佳实践
  • 读书笔记分享
  • React进阶之React RouterSSR
  • redis之服务端
  • LVS 部署 NAT 模式集群实现nginx负载均衡实验
  • 高级java每日一道面试题-2025年02月04日-服务器篇[Nginx篇]-简述一下什么是Nginx,它有什么优势和功能?
  • 【安全靶场】信息收集靶场
  • 仿 RabbitMQ 消息队列5(实战项目)
  • 2025年SEO工具有哪些?老品牌SEO工具有哪些
  • UR3 机械臂动作的record和replay
  • Unity崩溃后信息结合符号表来查看问题
  • 18vue3实战-----封装hooks
  • 论文概览 |《Cities》2024.12 Vol.155(上)
  • 2100年芜湖人的一天:张明的生活剪影
  • Day94:Re模块
  • 计算机网络,大白话
  • vue项目网页图标修改
  • GAEA的技术架构与系统集成 撸空投
  • 爬虫获取数据后,如何处理数据以提高分析效率?
  • 旅游行业内容管理系统CMS提升网站建设效率与体验
  • pytorch引用halcon写数据集
  • LARA:多语言多轮对话意图分类的新突破