Windows服务和多个登录用户

问题描述:

我正在开发一个Windows服务,它将每天在特定时间运行。如果多个用户登录到该机器会发生什么情况?如果有5个用户登录,它会同时运行5次吗?如果是这样,是否有办法阻止它?Windows服务和多个登录用户

Windows服务安装在机器范围内,并在一个指定的用户帐户下运行,该用户帐户实际上可能不是“用户”,而是“本地系统”或“网络服务”或类似的帐户。

服务将只运行一次而不考虑登录用户。实际上,即使没有用户登录,它也会在计算机打开时运行。

+0

它会运行,如果它被配置为在启动时运行... – Oded 2010-06-23 12:22:30

+0

@Oded好点 - 这对应于“自动”启动(而不是“手动”或“禁用”)。 – Jay 2010-06-23 12:26:13

+0

手册也适用于存在依赖于它的“自动”服务的情况。 – Oded 2010-06-23 12:33:47

Windows服务每台机器运行一次。

可以在Windows Services MMC控制台中指定运行服务的帐户。通常,服务将在“本地系统”帐户下运行。

如果您需要您的应用程序在每台计算机上只运行一次,则您将通过服务朝着正确的方向前进。但是,如果您需要按计划运行,由Windows任务计划程序触发的简单应用程序可能是更好的路线。

正如其他人回答,不,它只会运行一次。

这确实会为我提高一些标志。你为什么要为此写一个Windows服务?对于只需要运行一次的进程来说似乎是过度杀伤性的。服务通常用于不断需要执行任务,监视某些事件或接收事件的项目。我不知道你具体的目标,但也许一个计划任务可能更适合。缺点是计划任务只能在用户登录时运行,并且可能是用户特定的。

如果这是在企业或企业环境中,也许有一个运营团队有调度软件,您可以将其设置为某种批处理作业。

+1

我不同意服务是为了持续的任务。许多服务只需运行一个计时器几小时,几天甚至几周,然后完成他们的工作。考虑偶尔弹出的许多“软件更新”服务。 – Jay 2010-06-23 12:31:36

+0

好点Jay。 – 2010-06-24 15:01:57