为什么有些进程即使没有父进程也会被分配父 PID?

为什么有些进程即使没有父进程也会被分配父 PID?

有许多进程是用假的(不存在的 PID)启动的。例如 csrss.exe 进程。它启动后,分配的父进程 PID 不存在。如果您查看 procexp.exe,会发现“父进程”列为“(524)”(在这种情况下,524 是随机的、不存在的父进程 PID)。为什么会分配这些进程?

答案1

客户端/服务器运行时子系统 (CSRSS 或csrss.exe) 由会话管理器子系统 (SMSS 或 ) 生成smss.exe。SMSS 由系统 (其始终具有 PID 4) 在会话 0 下为 OS 服务生成。此外,SMSS 在会话 1 (用户会话) 中生成,其唯一任务是启动 CSRSS 和 WinLogon。一旦启动这两个,会话 1 SMSS 将终止。

因此,您看到的幻影父 ID 是已终止的会话 1 SMSS 进程的 PID。

相关内容