Python与Windows NT服务:深入解析与实践
1. Windows NT服务概述
Windows NT服务是一类特殊的进程,可在用户未登录工作站时执行,并由Windows服务控制管理器(SCM)控制。这些服务需满足Windows NT的特定要求,主要是能够处理来自Windows的异步控制消息。多数服务还会使用标准的Windows NT事件日志和性能监视器来增强其应用功能。
Python对Windows NT服务提供了全面支持。Python程序不仅可以作为服务运行,还能满足微软Back Office认证的所有要求,包括事件日志和性能监视器支持。此外,Python还能控制其他服务,适用于诸多管理任务,如检查服务状态、必要时重启服务等。
1.1 服务控制管理器(SCM)
SCM是Windows NT的重要组成部分,所有Windows NT服务都必须在SCM中注册。SCM负责启动和停止服务进程。当一个进程在SCM中注册时,需提供服务的相关属性,具体如下:
- 运行进程的用户名 :该用户名可能与当前登录系统的用户不同,甚至在服务启动时可能没有用户登录系统。
- 服务依赖的其他服务 :例如,编写Microsoft Exchange扩展时,可指定服务依赖于Microsoft Exchange信息存储服务。SCM会确保在启动服务之前,所有依赖的服务都已运行;在停止服务时,也会停止依赖该服务的所有服务。
- 服务的启动方式 :可选择在系统启动时自动启动(前提是所有依赖项也已启动),或手动启动(即由用户发起)。
超级会员免费看
订阅专栏 解锁全文
1549

被折叠的 条评论
为什么被折叠?



