应用程序、流程和服务之间有什么区别?

应用程序、流程和服务之间有什么区别?

这些在 Windows 上根本不同的“东西”是什么?

所有正在运行的东西不都是进程吗?

似乎每个应用程序都有一个关联的进程,如果应用程序关闭,该进程也会关闭。看起来一个进程可以管理多个应用程序实例。至于服务,我甚至不确定它们到底是什么。

它们本身不是过程吗?

答案1

应用程序和服务都有与之相关的进程。

一个应用您在桌面上与之交互的程序。这是您在计算机上花费了几乎所有时间使用的东西。Internet explorer、microsoft word、iTunes、skype - 它们都是应用程序。

A过程是一个特定可执行文件的实例.exe程序文件)正在运行。给定的应用程序可能同时运行多个进程。例如,某些现代浏览器(如 Google Chrome)会同时运行多个进程,每个选项卡实际上都是同一可执行文件的单独实例/进程。在某些情况下,复杂的应用程序可能有多个进程;例如,Visual Studio 在编译代码时和显示 IDE 时运行单独的进程。但是,大多数情况下,给定的应用程序是从单个进程运行的;例如,无论您打开了多少个 Microsoft Word 窗口,都只有一个实例在winword.exe运行。

A服务在后台运行的进程并且不与桌面交互。在 Windows 中,服务几乎总是作为进程svchost.exe(Windows 服务主机进程)的一个实例运行;但是有时也有例外。

有时,进程可能在后台运行而不与桌面交互,但未作为服务安装。许多具有增强功能的设备驱动程序都这样做。例如,触摸板驱动程序通常会有一个进程,该进程在用户登录时运行并处理触摸板的特殊功能,但不是服务,也不会向用户显示任何窗口。

有时应用程序可能依赖于某项服务。从任何程序进行打印都需要打印后台处理程序服务处于活动状态。安装程序包(.msi安装程序)需要运行 Windows 安装程序服务。防病毒程序通常使用服务,以便即使用户未登录,它们也可以继续运行。

进程通常会在应用程序关闭时退出,但情况并非总是如此。某些程序(尤其是下载和备份程序)可能会继续在后台运行而不显示任何窗口。防病毒软件也是这种情况的一个例子 - 除了使用服务外,许多防病毒应用程序还会在后台默默运行一个进程,仅在需要采取行动时才向用户显示应用程序。

答案2

应用程序和服务都是进程。应用程序旨在与单个用户交互,而服务则在整个系统内运行,但不直接与用户交互。

答案3

服务通常是在 Windows 启动时运行的后台应用程序。通常它执行已安装的应用程序或 Windows 本身使用的一些任务。

独立应用程序只是一个普通的程序(a .exe)。独立通常指可以自行运行的单个可执行文件。

像 Word 这样的大型程序需要运行许多不同的文件。

相关内容