1

我多次列出了正在运行的进程,发现它们中的大多数都是 explorer.exe 的子进程,而 explorer.exe 的父进程似乎没有运行,为什么会这样?

4

1 回答 1

4

用户登录后,由 userinit 进程创建 explorer 进程。Userinit 执行用户环境的一些初始化(例如运行登录脚本和应用组策略),然后在注册表中查找 Shell 值并创建一个进程来运行系统定义的 shell——默认情况下为 Explorer.exe。然后 Userinit 退出。这就是为什么 Explorer.exe 被各种没有父进程的进程浏览器显示的原因——它的父进程已经退出。-- 参考维基File_Explorer

windows启动进度

从这张图可以看出,explorer.exe是由userinit.exe启动的,而userinit.exe最后退出了,所以explorer.exe没有父进程。

因为 Windows 使用 explorer.exe 启动启动进程,所以所有正常进程都是 explorer.exe 的子进程,除非子进程因父进程退出而成为少父进程(孤立)。

因为所有新程序都是由用户在用户桌面上运行的,所以它们都是资源管理器的孩子。

进程树

在此处输入图像描述

于 2018-07-11T04:07:35.067 回答