Windows 服务由三部分组成:服务应用、服务控制程序(SCP)以及服务控制管理器(SCM)。服务应用实质上也是普通的 Windows 可执行程序,但是其必须要符合 SCM的接口和协议规范才能使用。SCP 是一个负责在本地或远程计算机上与 SCM 进行通信的应用程序,负责执行 Windows 服务的启动、停止、暂停、恢复等操作。
SCM 负责使用统一和安全的方式去管理Windows服务,其存在于%windir%\System32\services.
exe 中,当操作系统启动以及关闭时,其自动被呼叫去启动或关闭 Windows 服务。
Windows 服务有 3 种运行状态,分别是运行、停止和暂停。
出于安全原因,用户需要确定 Windows 服务运行时创建的进程可以访问哪些资源,并给予特定的运行权限。因此,Windows 10 采用了本地系统账户(local system)、本地服务账户(local service)、网络账户(network service)3 种类型的账户,以供需要不同权限的 Windows 服务运行使用。
要查看本地计算机 Windows 服务的运行状态,可以打开任务管理器并切换到【服务】标签页,里面显示了所有 Windows 服务的运行状态,如下图所示。
同时也可以使用【服务】控制台对本地计算机或远程计算机中的 Windows 服务进行管理。在【运行】对话框中执行 services.msc 命令,单击图中底部的