Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )
相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )相关的知识,希望能为你提供帮助。
文章目录
- ??一、task_struct 结构体字段分析??
- ??1、real_parent 字段??
- ??2、parent 字段??
- ??3、group_leader 字段??
- ??4、real_cred 字段??
- ??5、cred 字段??
在 Linux 内核 中 , " 进程控制块 " 是通过 ?
?task_struct?
?? 结构体 进行描述的 ;
Linux 内核中 , 所有 进程管理 相关算法逻辑 , 都是基于 ??task_struct?
? 结构体的 ;
?
?task_struct?
?? " 进程描述符 " 结构体在 ??linux-5.6.18\\include\\linux\\sched.h?
? 头文件中 第 629629629 ~ 130013001300 行定义 ;
一、task_struct 结构体字段分析
1、real_parent 字段
?
?real_parent?
? 字段 , 指向 " 真实的父进程 " ;
/* Real parent process: */
struct task_struct __rcu*real_parent;
2、parent 字段
?
?parent?
?? 字段 , 指向 父进程, 一般情况下与 ??real_parent?
? 相同 ;
如果 进程 被 另外一个进程 使用 系统调用 ?
?ptrace?
? 方法 跟踪调试 了 , 其 父进程 就是 跟踪进程 ;
其它情况下 ,?
?parent?
?? 字段与 ??real_parent?
? 字段的值都是相同的 ;
/* Recipient of SIGCHLD, wait4() reports: */
struct task_struct __rcu*parent;
3、group_leader 字段
?
?group_leader?
? 字段 , 是一个指针 , 指向了 " 线程组组长 " ;
struct task_struct*group_leader;
【Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )】
4、real_cred 字段
?
?real_cred?
? 字段 , 是一个指针 , 指向 主体 和 真实客体 证书 ;
/* Objective and real subjective task credentials (COW): */
const struct cred __rcu*real_cred;
5、cred 字段
?
?cred?
?? 字段 , 指向 有效客体证书 的指针 , 一般情况下 , ??real_cred?
?? 与 ??cred?
? 指向的位置是相同的 ;
/* Effective (overridable) subjective task credentials (COW): */
const struct cred __rcu*cred;
推荐阅读
- Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )
- #yyds干货盘点#剑指 Offer 11. 旋转数组的最小数字
- 玩转算法复杂度
- kubectl 命令(陈述式)
- 关于在JVS的基础上企业内部私有化红头文件实现的思考
- vivo 商品中台的可视化微前端实践
- C语言实现“三子棋”小游戏
- 在敏捷中应用测试驱动开发
- Tapdata 肖贝贝(实时数据引擎系列-从 PostgreSQL 实时数据集成看增量数据缓存层的必要性)