查找任务的创建者

查找任务的创建者

我想找到Linux内核中任意任务的创建者任务。但是,我不确定是否有办法做到这一点。

real_parent通常,您可以通过任务中的成员找到任务的创建者struct task_struct。我的问题在于内核对线程组的处理。

假设用户模式下的进程(内核中的任务A)创建了一个线程(内核中的任务B)。为此,clone系统调用是使用该CLONE_THREAD标志进行的。然后内核复制任务 A 来创建任务 B 并执行线程特定的初始化。其中一部分是,real_parentB 的 被设置为real_parentA 的 (请参阅 kernel/fork.c 中的代码)。

因此,父关系是在线程组(即用户模式下的进程)之间,而不是在任务之间。线程组中的任务似乎被视为兄弟姐妹,它们之间没有层次结构。

这使得我不太清楚如何找出给定任务是由哪个任务创建的。我检查了分叉代码并搜索了 的成员,struct task_struct但一无所获。有没有办法识别任务的创建者?

相关内容