我设置了一个新的计划任务,使其在“我的计算机启动时”启动。我指定了一个管理员用户来运行该任务。这是一个可执行文件,应该在后台无限期运行。
问题是,如果管理员登录然后注销,任务将停止运行。
有解决办法吗?
更新:这是因为运行的任务是在 Java 中。请参阅我自己的解决方案。
答案1
发生这种情况是因为正在运行的任务是 Java 应用程序。Java 会拦截用户注销事件并停止执行。通过在-Xrs
运行应用程序的命令行中添加以下内容可解决此问题,从而使 JVM 忽略注销事件。
答案2
该程序的作用是什么?它使用什么级别的访问权限?你最好从服务用户帐户(LocalService、NetworkService 或 LocalSystem)。这将导致任务在不与桌面交互的系统帐户下运行,并且不会加载常规用户的配置文件。这也意味着它不会受到用户登录和注销的影响,因为这些帐户永远处于“登录”状态。但请注意:LocalSystem 帐户具有完全的系统访问权限,这意味着如果您正在运行的任务以某种方式被用户访问,他们可能会获得对系统的完全访问权限。