三个进程的关系
Linux 中有pid 0, pid 1 和 pid 2 三个特殊的进程。
pid 0,即 “swapper” 进程,是 pid 1 和 pid 2 的父进程。
pid 1,即 “init” 进程,所有用户空间的进程均派生自该进程。
pid 2,即 “kthreadd” 进程,是内核空间所有进程的父进程。
除了pid 0为静态生成外,其他进程实际都是调用 do_fork 生成。
$ ps -ef | head -n 3
UID ? ? ? ? ?PID ? ?PPID ?C STIME TTY ? ? ? ? ?TIME CMD
root ? ? ? ? ? 1 ? ? ? 0 ?0 09:20 ? ? ? ? ?00:00:13 /sbin/init auto noprompt
root ? ? ? ? ? 2 ? ? ? 0 ?0 09:20 ? ? ? ? ?00:00:00 [kthreadd]
?