beginner
服务与后台基础设施
Windows 如何启动、分组、隔离以及监督长时间运行的后台组件。
Microsoft 官方文档
Microsoft Learn 上与此主题最相关的官方参考资料。
[
Microsoft Learn
Service control manager
learn.microsoft.com
](https://learn.microsoft.com/en-us/windows/win32/services/service-control-manager)[
Microsoft Learn
Windows Vista 的服务变更
learn.microsoft.com
](https://learn.microsoft.com/en-us/windows/win32/services/service-changes-for-windows-vista)
为什么它很重要
Windows 的大量功能都独立于桌面 shell 之外。服务承载了网络、日志、更新、安全功能以及后台管理任务。
思维模型
一个服务就是一个被管理的长时间运行的工作负载。Service Control Manager 决定它何时启动、如何停止以及在何种身份下运行。
Windows 基础组件
可在任务管理器、资源管理器或者文档中查到的名称与路径。
-
Processservices.exe
Service Control Manager 进程
-
ServiceService Control Manager
启动并控制 Windows 服务
深入一层
给希望在打开子主题前获取更精确信息的读者提供额外细节。
- 根据配置,服务可以作为共享 (svchost)、独立运行,或在用户会话中运行。
- 失败操作(重启、重启计算机)在 SCM 数据库中按服务进行配置。
工作原理
- 1Service Control Manager 读取配置并按正确的顺序启动服务。
- 2服务通常运行在像 svchost.exe 这样的共享主机进程内。
- 3每个服务都有一个生命周期、恢复策略、安全上下文以及依赖链。
关键术语
SCM
Service Control Manager;Windows 中的中央服务编排器。
svchost
一个共享主机进程,可以运行一个或多个 Windows 服务。
Session 0
服务运行的隔离会话,与交互式桌面会话分离。
为什么许多服务显示在一个进程下
Windows 将兼容的服务分组到共享主机中,以减少开销并简化生命周期管理。
常见误区
服务不仅仅是“一个没有窗口的应用程序”。它由专门的操作系统基础设施进行管理,拥有不同的身份和生命周期规则。