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


47

Windows上这些根本不同的“事物”如何?

并非所有的事物都在运行吗?

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

他们不是自己处理吗?

Answers:


71

应用程序和服务都具有与之关联的流程。

一个应用程序你在桌面上进行交互的程序。这是您几乎所有时间都花在计算机上的东西。Internet Explorer,Microsoft Word,iTunes,Skype-它们都是应用程序。

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

一个服务是一个运行在后台进程,并与台式机就没有任何接触。在Windows中,服务几乎总是作为svchost.exeWindows服务宿主进程的实例运行。但是,有时会有例外。

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

有时,应用程序可能取决于特定的服务。从任何程序进行打印都需要激活后台打印程序服务。安装软件包(.msi安装程序)要求Windows安装程序服务正在运行。防病毒程序通常使用一项服务,因此即使用户未登录,它们也可以继续运行。

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


4
那么静默进程和Windows服务之间有什么区别?对不起,我是新来的!
Subin Jacob

1
服务将具有比正常进程更多的权限,因为它作为Windows进程而不是用户进程运行。
吉尔斯·莱斯雷

9

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


大多数Windows服务都以方式运行svchost.exe,但我看不到有太多非Windows服务可以使用。应该注意的是,Sysinternal的Process Explorer可以用于确定特定服务在Services MMC控制台中承载的服务svchost.exe
LawrenceC

1

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

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

较大的程序(如Word)需要运行许多不同的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.