windows - 为什么大多数进程都将 explorer.exe 作为其父进程

标签 windows

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

最佳答案

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

windows boot progress

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

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

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

process tree

enter image description here

关于windows - 为什么大多数进程都将 explorer.exe 作为其父进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51176823/

相关文章:

c++ - DLL 中全局变量的使用限制(适用于 Windows)

node.js - Node : Check if a file is locked without locking the file

javascript - Windows是否有等效的nodemon

c++ - 系统范围的API钩子(Hook)

C++ Win API 函数 'not declared in this scope'

Windows 性能分析器缺少 ImageId 事件

Python 套接字在 LAN 上工作,但不能在 Wifi 上工作

C++ 更改打印队列所有者

Windows 资源管理器外壳扩展:通过 ITransferSource::RemoveItem 递归删除?

c# - 通过Windows服务调用网站