有时我发现某些应用程序允许自己在Windows上作为服务运行,例如 Apache HTTP Server allows that。我总是将它作为常规应用程序运行,从未遇到任何问题或限制。
答案 0 :(得分:13)
将应用程序作为服务运行的最大好处是即使在当前用户注销后它将继续运行(并且将在用户登录之前开始运行)。此外,服务通常在本地“系统”帐户下运行,而不是在特定用户的登录下运行(尽管服务可以并且通常配置为在特定用户登录下运行,通常专用于此目的)。
作为开发人员,您可能不会注意到很多差异。如果出现问题,桌面上运行的进程通常更容易调试。通常,您可以将应用程序设置为能够以任一模式运行,使其易于开发并适合部署。
答案 1 :(得分:5)
我想到的一件事是服务可以在用户登录系统之前启动。我认为服务是运行通常没有前端GUI的守护进程的理想方式。用户更难以无意中退出,而且不在视线范围之内。
答案 2 :(得分:3)
即使没有用户登录,服务也会运行。应用程序与用户交互。
如果您需要两者,您可能需要有两个组件,一个作为服务运行,另一个与用户交互。