init:是用户线程还是内核线程?

lim*_*ala 5 linux process kernel ps init

init 是内核加载后执行的第一个任务,对吗?那么谁是它的主人。

我也可以看到 [swapper/0] [swapper/1] ..... [swapper/7] pid 0

PID    PPID  CPU   TASK    ST  %MEM     VSZ    RSS  COMM
 0      0   0  c180b020  RU   0.0       0      0  [swapper/0]
 0      2   1  f7550ca0  RU   0.0       0      0  [swapper/1]
 0      2   2  f7554bc0  RU   0.0       0      0  [swapper/2]
 0      2   3  f7570ca0  RU   0.0       0      0  [swapper/3]
 0      2   4  f7574bc0  RU   0.0       0      0  [swapper/4]
 0      2   5  f75c8ca0  RU   0.0       0      0  [swapper/5]
 0      2   6  f75ccbc0  RU   0.0       0      0  [swapper/6]
 0      2   7  f75f0ca0  RU   0.0       0      0  [swapper/7]
 1      0   2  f7480000  IN   0.1    4676   2568  init
 2      0   5  f7480ca0  IN   0.0       0      0  [kthreadd]
Run Code Online (Sandbox Code Playgroud)

Flu*_*lup 9

init是一个用户空间进程,它始终具有 PID=1 和 PPID=0。一旦一切准备就绪(即初始化必要的设备驱动程序并安装根文件系统),它是第一个由内核产生的用户空间程序。当第一个进程启动时,它没有一个有意义的父进程。

您摘录中的其他“进程”确实是内核任务。