Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )

Posted 韩曙亮_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )相关的知识,希望对你有一定的参考价值。



文章目录



在 Linux 内核 中 , " 进程控制块 " 是通过 ​​task_struct​​​ 结构体 进行描述的 ; Linux 内核中 , 所有 进程管理 相关算法逻辑 , 都是基于 ​​task_struct​​ 结构体的 ;

​task_struct​​​ " 进程描述符 " 结构体在 ​​linux-5.6.18\\include\\linux\\sched.h​​ 头文件中 第 629 629 629 ~ 1300 1300 1300 行定义 ;






一、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;



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 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )

Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )

Linux 内核进程管理 task_struct 结构体 ④ ( comm 字段 | 进程优先级字段 | cpus_ptr 字段 | mmactive_mm 字段 | fs 字段 )

Linux 内核进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 )

Linux 内核进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_credcred字段 )

Linux进程描述符task_struct结构体详解--Linux进程的管理与调度