2009-02-16 79 views
5

我有一个批处理文件在Windows 2003服务器中启动Java进程。根据安全策略,如果用户在一段时间内处于非活动状态,则会强制注销该机器的用户。问题是,当用户注销时,该进程也会死亡。即使在用户注销后在Windows中运行Java进程

我安排了一项新任务(控制面板 - >计划任务)并选择了“我的电脑启动时”选项,并在那里给出了用户帐户的详细信息。但它似乎没有任何影响,用户仍然退出并且进程死亡。是否需要重新启动才能使此更改生效?重启后,我会达到我期望的效果吗?

或者,将此流程作为Windows服务运行解决问题?如果是这样,你可以让我知道如何让Java程序或批处理文件作为Windows服务运行?我不想使用任何其他第三方工具或库。检查,这通常意味着你需要提供密码

感谢

回答

11

如果你希望它下你必须确保你没有计划任务运行“当用户登录才能运行”。

Windows服务将是这样做的正常方式:Java service wrapper是第三方,但大量人使用它。

如果您真的不想使用第三方方法,您可以在WIndows NT或更高版本上使用svrany.exe (http://support.microsoft.com/kb/137890),但它不是专为Java设计的。

+0

感谢您的回复。是的,我没有设置该特定选项,并提供了密码详细信息。 我在另一个线程中了解了Java服务包装器。我打算用它作为最后的手段。 – cdoe 2009-02-16 12:50:36

1

我使用Java Service Wrapper启动Java程序作为Windows服务。 我想它与之前发布的srvany.exe类似。

0

按我的分析关机,我们使用的是标志的JVM,

空闲解决方案将编写一个VC++(.net)Windows服务创建程序,以启动.bat/.exe作为系统服务,并向SCM提供所有必需的回调方法。

注意: 1.包装纸,因为它没有任何回调过程中对SCM(服务控制管理器)与SRVANY.EXE过程中是行不通的。 2.和java服务包装是第三方API(许多LGPL许可)。

相关问题