Linux内核中真正的Grand GRAND祖先进程是什么?

时间:2016-04-16 22:15:30

标签: c linux linux-kernel kernel userspace

在尝试查找在C中创建的某些进程应用程序的所有根时,并调用自定义系统调用,我使用task_struct *的信息返回所有进程的数组,我经历过任务交换器/ 0是通过父指针指向自己的任务(即swapper / 0-> parent == swaper / 0)。我的问题是:哪一个是用户空间中运行的任何进程的真正GRAND父级?它是swapper / 0还是它之前的任务(或swapper / 0的孩子)?即是swapper / 0是一个真正的任务,还是只是遍历父链接列表的结束标志?

顺便说一下,这个问题扩展了我在这篇文章中发布的问题:The ending flag to traversing ancestors in the kernel space in C

1 个答案:

答案 0 :(得分:4)

init(pid 1)是进程,它是所有其他用户进程的祖先。 init负责启动运行系统的所有用户级进程。此外,父进程的进程由init继承(即init成为其父进程)。