查找最早的子项 - 兄弟进程 - 内核 - 结构task_struct

时间:2012-12-19 02:31:33

标签: process kernel

我正在编写一个系统调用,它应该为调用它的进程存储一些信息,用于其最早的子进程和最早的兄弟进程。
我知道我想要的信息保存在task_struct中的sched.h中,我已经设法存储从struct task_struct中我想要的字段调用系统调用的进程的信息。
我最老的孩子和最老的兄弟姐妹的问题是,在struct task_struct中有两个列表,其中包含所有孩子和所有兄弟姐妹(如果我已经理解正确的话)。我假设我必须遍历那些列出并找到最后一个元素。但如果我找到这些列表中的最后一个元素,我该如何访问他们的task_struct?
提前谢谢。

1 个答案:

答案 0 :(得分:0)

task_struct 指向最小的孩子,年幼的兄弟姐妹和年长的兄弟姐妹。这些指针指向相应的 task_struct 。 task_struct中的*p_cptr, *p_ysptr, *p_osptr分别指向最小的孩子,年幼的兄弟姐妹和年长的兄弟姐妹。例如,current->p_cptr只指向最小的孩子,其中当前是指向当前正在运行的流程的 task_struct 的指针。