在尝试查找用 C 制作的某些流程应用程序的所有根,并调用我所做的自定义系统调用,该调用使用 task_struct* 的信息返回所有进程的数组时,我发现任务 swapper/0 是通过父指针指向自身(即 swapper/0->parent == swaper/0)。我的问题是:哪一个是在用户空间中运行的任何进程的真正的祖父?它是 swapper/0 还是它之前的任务(或 swapper/0 的孩子)?即 swapper/0 是一个真正的任务,还是只是一个用于遍历父链表的结束标志?
顺便说一句,这个问题扩展了我在这篇文章中发布的问题:The ending flag to traversing parents in kernel space in C。