Answers:
应用程序和服务都具有与之关联的流程。
一个应用程序是你在桌面上进行交互的程序。这是您几乎所有时间都花在计算机上的东西。Internet Explorer,Microsoft Word,iTunes,Skype-它们都是应用程序。
甲过程是一个特定的可执行实例(.exe
程序文件)的运行。给定的应用程序可能同时运行多个进程。例如,某些现代浏览器(例如google chrome)一次运行多个进程,每个选项卡实际上是同一可执行文件的单独实例/进程。在某些情况下,复杂的应用程序可能具有多个进程。例如,Visual Studio在编译代码和显示IDE时会运行一个单独的进程。但是,大多数情况下,给定的应用程序是通过单个进程运行的。例如,无论您打开了多少个Microsoft Word窗口,都仅在winword.exe
运行一个实例。
一个服务是一个运行在后台进程,并与台式机就没有任何接触。在Windows中,服务几乎总是作为svchost.exe
Windows服务宿主进程的实例运行。但是,有时会有例外。
有时,进程可能在后台运行而不与桌面进行交互,但是没有作为服务安装。许多具有增强功能的设备驱动程序都可以这样做。例如,触摸板驱动程序通常将具有一个进程,该进程在用户登录并处理触摸板的特殊功能时运行,但它不是服务,也不向用户显示任何窗口。
有时,应用程序可能取决于特定的服务。从任何程序进行打印都需要激活后台打印程序服务。安装软件包(.msi
安装程序)要求Windows安装程序服务正在运行。防病毒程序通常使用一项服务,因此即使用户未登录,它们也可以继续运行。
进程通常在应用程序关闭时退出,但是并非总是如此。某些程序,尤其是下载和备份程序,可能会继续在后台运行而不显示任何窗口。防病毒也是这种情况的一个示例-除使用服务外,许多防病毒应用程序还在后台静默运行一个进程,该进程仅在需要采取措施时才向用户显示一个应用程序。
应用程序和服务都是流程。应用程序旨在与单个用户进行交互,而服务可在整个系统中运行,但不能直接与用户进行交互。
svchost.exe
,但我看不到有太多非Windows服务可以使用。应该注意的是,Sysinternal的Process Explorer可以用于确定特定服务在Services MMC控制台中承载的服务svchost.exe
。