我正在学习英国 A 级 IT 课程,我只是想知道 Windows 服务的实际功能是什么。
我知道它们是后台进程,不需要用户干预,但它们实际上做什么?
答案1
正如您所说,服务是在后台运行而无需用户交互的程序。
以下是开发人员开发或使用服务而不是(或经常使用)标准 Windows 程序的一些原因:
用户登录或注销时服务不会关闭。无论谁登录或何时登录,需要始终在后台运行的东西通常会使用一个或多个服务。
服务可以以具有高级或管理权限的帐户运行,但接受没有管理权限的客户端应用程序的输入或指示。这样,不以管理员身份运行的用户可以执行需要管理权限的操作。
上述做法的一个附带好处是,如果您正确设计服务,它不仅可以接受来自同一台机器上运行的客户端应用程序(通过 TCP/IP、RPC、管道等)的命令,还可以接受来自任何其他机器上运行的客户端应用程序的命令。因此,需要远程控制的应用程序通常会使用一个或多个服务。
如果您正在设计一个需要多个用户同时访问的应用程序,您可以构建一个结构,让每个用户运行一个与集中服务(本地或远程)对话的客户端。然后,该服务可以在请求之间进行仲裁,并确保并发请求不会互相干扰,并向相应的客户端报告(我认为可以这样做的应用程序的一个例子是 Symantec 的 Backup Exec。)
答案2
这类似于问“程序是做什么的?”。好吧,不管它们被设计用来做什么。每项服务都是独一无二的,并且会做不同的事情。
您对服务的描述非常好。这是一个在后台运行的过程,无需用户干预或输入。但数百万软件公司已经开发了数百万种服务。“它们做什么?”是一个相当宽泛的问题。
如果你对某项特定服务感兴趣Windows 自带的您可以在 Windows 的服务控制台中找到答案。有时第三方软件开发商也会在此窗口中提供其服务功能的描述。有些则不会。
从“开始/搜索”菜单打开services.msc
并右键单击任何列出的服务,然后单击“属性”。服务的描述列在描述框中:
答案3
服务是一种与其他应用程序几乎相同的应用程序。服务与其他程序的区别在于,服务在后台运行,没有可供点击或点按的用户界面。服务旨在提供核心操作系统功能,例如 Web 服务、事件日志记录、文件服务、打印或错误报告。
并非所有服务都是由 Microsoft 开发的。一些应用程序和驱动程序会安装自己的服务。安全套件就是一个很好的例子,因为它们会安装不同的服务来提供对系统活动的实时监控、防火墙保护等。这些套件需要利用服务提供的优势。其中一个优势是它们可以在系统启动期间、在其他程序之前甚至在您登录之前启动。但最重要的优势是它们可以监控计算机上运行的所有内容,同时完美地集成在 Windows 核心中。这样,它们可以提供非常高水平的保护。
非 Microsoft 服务的另一个示例可能是 SSH 服务器,它通常在办公室用于安全远程连接或 Web 浏览器的自动更新服务,如 Mozilla 维护服务。