【Linux 内核】进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_cred、cred字段 )

2023-03-30 13:46:15 浏览数 (1)

文章目录

  • 一、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.18includelinuxsched.h 头文件中 第

629

~

1300

行定义 ;

一、task_struct 结构体字段分析


1、real_parent 字段

real_parent 字段 , 指向 " 真实的父进程 " ;

代码语言:javascript复制
	/* Real parent process: */
	struct task_struct __rcu	*real_parent;

2、parent 字段

parent 字段 , 指向 父进程 , 一般情况下与 real_parent 相同 ;

如果 进程 被 另外一个进程 使用 系统调用 ptrace 方法 跟踪调试 了 , 其 父进程 就是 跟踪进程 ;

其它情况下 , parent 字段与 real_parent 字段的值都是相同的 ;

代码语言:javascript复制
	/* Recipient of SIGCHLD, wait4() reports: */
	struct task_struct __rcu	*parent;

3、group_leader 字段

group_leader 字段 , 是一个指针 , 指向了 " 线程组组长 " ;

代码语言:javascript复制
struct task_struct		*group_leader;

4、real_cred 字段

real_cred 字段 , 是一个指针 , 指向 主体 和 真实客体 证书 ;

代码语言:javascript复制
	/* Objective and real subjective task credentials (COW): */
	const struct cred __rcu		*real_cred;

5、cred 字段

cred 字段 , 指向 有效客体证书 的指针 , 一般情况下 , real_credcred 指向的位置是相同的 ;

代码语言:javascript复制
	/* Effective (overridable) subjective task credentials (COW): */
	const struct cred __rcu		*cred;

0 人点赞