linux内核原理--进程,线程
进程进程组会话线程父子进程线程组孤儿进程兄弟进程兄弟线程1.核心概念逐个解释进程Process操作系统资源分配的最小单位。拥有独立的虚拟地址空间、打开文件表、信号处理等资源。进程是程序的一次执行实例。线程Thread操作系统CPU 调度的最小单位。线程依附于进程共享进程的地址空间和资源但拥有独立的栈、寄存器、程序计数器。一个进程至少包含一个线程主线程。父子进程父进程通过 fork() 创建子进程。子进程继承父进程的部分属性环境变量、文件描述符、信号处理等但拥有独立的 PID 和地址空间写时复制 COW。子进程终止时父进程应通过 wait() 回收其资源否则子进程变为僵尸进程。兄弟进程由同一父进程创建的多个子进程互为兄弟进程。兄弟进程之间彼此独立无直接层级关联不共享地址空间通信需通过 IPC。孤儿进程父进程先于子进程终止子进程失去父进程。操作系统会将孤儿进程的 PPID 重新设置为 init 进程PID 1或 systemd 收养。孤儿进程不是异常状态被收养后可正常执行直至终止。进程组Process Group一个或多个进程的集合用于批量信号管理。每个进程组有一个进程组 IDPGID通常等于组长进程的 PID。同一管道线如 ls | grep | wc中的命令通常属于同一进程组。向进程组发送信号如 kill -9 -pgid可同时影响组内所有进程。会话Session一个或多个进程组的集合用于终端控制。会话首进程Session Leader通常是登录 Shell。一个会话可包含一个前台进程组和多个后台进程组。终端断开会向会话首进程发送 SIGHUP导致会话内进程默认终止。线程组Thread GroupLinux 特有的概念。同一进程内的所有线程属于同一个线程组。线程组 IDTGID等于主线程的 PID。用户态调用 getpid() 实际返回的是 TGID。线程组内的线程通过 clone() 创建共享 mm_struct地址空间、files_struct文件表等。kill -9 pid 会终止整个线程组即整个进程。兄弟线程同一进程内的多个线程互为兄弟线程。它们共享进程的地址空间、全局变量、堆、文件描述符等是最紧密的协作关系。通信成本极低直接内存读写但需通过锁、原子操作等机制同步。2.关系总览┌─────────────────────────────────────────────────────────────┐ │ 操作系统 │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ 会话Session │ │ │ │ ┌─────────────────┐ ┌─────────────────────────┐ │ │ │ │ │ 进程组1│ │ 进程组2│ │ │ │ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │ │ │ │ │ 进程 A │ │ │ │ 进程 B │ │ │ │ │ │ │ │ ┌───────┐ │ │ │ │ ┌───────┐ │ │ │ │ │ │ │ │ │ 线程1│ │ │ │ │ │ 线程1│ │ │ │ │ │ │ │ │ ├───────┤ │ │ │ │ └───────┘ │ │ │ │ │ │ │ │ │ 线程2│ │ │ │ └───────────┘ │ │ │ │ │ │ │ └───────┘ │ │ └─────────────────────────┘ │ │ │ │ │ └───────────┘ │ │ │ │ │ └─────────────────┘ │ │ │ └───────────────────────────────────────────────────────┘ │ │ │ │ 进程 A 和进程 B无亲缘关系通过 IPC 通信 │ │ 进程 A 的线程1/2兄弟线程共享地址空间 │ └─────────────────────────────────────────────────────────────┘3.层级关系与归属层级组成单位关键标识作用会话一个或多个进程组SID会话 ID终端控制、作业管理进程组一个或多个进程PGID进程组 ID信号批量分发进程一个或多个线程PID进程 ID资源分配、地址空间隔离线程组一个或多个线程TGID 主线程 PIDLinux 内核对线程的归类线程执行单元TID线程 IDCPU 调度4.Linux 中的 ID 辨析在 Linux 中这些概念通过不同的 ID 区分PID进程/线程的唯一标识。对主线程而言PID TGID对子线程而言PID 是其独立 TID。TGID线程组 IDgetpid() 的返回值。同一进程内所有线程 TGID 相同。PGID进程组 IDgetpgrp() 的返回值。SID会话 IDgetsid() 的返回值。PPID父进程 ID。

相关新闻

Android Selinux详解[四]--新增服务标签相关

Android Selinux详解[四]--新增服务标签相关

在工作过程中,SElinux常用的有以下几个文件可用于新增标签 可用于加标签的文件名含义对应的声明文件名(一般会声明的地方,根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签,与上一个不同的是…

2026/10/13 8:17:27 阅读更多 →
天津GEO获客怎么选 天津本地实力服务商五家盘点

天津GEO获客怎么选 天津本地实力服务商五家盘点

为什么商家开始关注GEO获客 今年越来越多的天津老板发现,客户在问豆包、文心一言“附近哪家洗牙靠谱”“河西装修哪家强”时,AI给出的推荐名单里,自己的店要么排不上号,要么信息错漏一团乱。传统网页SEO只能解决搜索引擎排名&…

2026/10/12 21:07:10 阅读更多 →
AI推动工业智能化转型~系列文章24:钢铁工业 AI 全景图:从原料场到轧机的场景地图

AI推动工业智能化转型~系列文章24:钢铁工业 AI 全景图:从原料场到轧机的场景地图

第 24 期 | 钢铁工业 AI 全景图:从原料场到轧机的场景地图专栏二至此已完成工业 AI 方法论的完整建构。收官一期,我们把镜头拉到整个钢铁制造流程,绘制从原料场到轧机的 AI 场景全景图——每个工序的典型场景、技术成熟度、价值量级与实施优先…

2026/10/8 10:08:15 阅读更多 →

最新新闻

游戏出海新路径:经销商合作计划如何破解本地支付与销售难题

游戏出海新路径:经销商合作计划如何破解本地支付与销售难题

1. 项目概述:游戏出海,为什么靠经销商打开本地市场反而更靠谱?做游戏出海的这两年,我越来越意识到一个容易被忽略的真相:渠道的本地化,往往比内容的本地化更难,也更重要。很多开发者以为把游戏文…

2026/10/13 8:17:34 阅读更多 →
长尾关键词挖掘与内容布局:网站SEO流量稳步提升的核心策略

长尾关键词挖掘与内容布局:网站SEO流量稳步提升的核心策略

做SEO时间长了,你对“词”的态度会慢慢变化。刚入行时总盯着行业大词,整天想的是哪天真把一个高搜索量词做到首页就好。后来做过几个不同行业的站点,反而越来越踏实地在做一件事:把长尾关键词的挖掘和内容布局当日常。真正让一个网…

2026/10/13 8:17:34 阅读更多 →
WebGL Fundamentals:二维图形缩放(2D Scale)实战详解

WebGL Fundamentals:二维图形缩放(2D Scale)实战详解

图形学 【免费下载链接】webgl-fundamentals WebGL lessons that start with the basics 项目地址: https://gitcode.com/gh_mirrors/we/webgl-fundamentals 点击查看 免费下载 本教程出自 webgl-fundamentals 开源仓库的 WebGL 基础系列(日语版见 webg…

2026/10/13 8:17:34 阅读更多 →
COMSOL多物理场耦合实现三维材料损伤模拟

COMSOL多物理场耦合实现三维材料损伤模拟

1. 项目背景与核心价值在工程仿真领域,材料损伤模拟一直是极具挑战性的课题。传统有限元软件往往只能实现简单的线性损伤模型,而COMSOL Multiphysics凭借其强大的多物理场耦合能力和用户自定义功能,为复杂损伤行为的精确模拟提供了可能。这个…

2026/10/13 8:17:34 阅读更多 →
城市通勤轮胎选择指南:性能平衡与安全考量

城市通勤轮胎选择指南:性能平衡与安全考量

1. 城市通勤轮胎选择的核心考量城市道路环境对轮胎的考验远比我们想象中复杂。柏油路面、水泥接缝、减速带、井盖、施工路段碎石......这些日常通勤中频繁遇到的路况,都在无声地考验着轮胎的性能边界。作为每天与地面直接接触的部件,轮胎的选择直接关系到…

2026/10/13 8:17:34 阅读更多 →
Schema标记实战:用结构化数据占据整个SERP

Schema标记实战:用结构化数据占据整个SERP

1. "占据整个SERP"到底是怎么回事:从一次搜索结果截图说起先别急着上代码,我们得先搞清楚一个问题:所谓"占据整个SERP",到底长什么样?去年我接手了一个垂直电商的小项目,卖的是某种小众…

2026/10/13 8:16:34 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →