1

在尝试查找用 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

4

1 回答 1

4

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

于 2016-04-16T23:10:13.030 回答