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;






    推荐阅读