java - 即使在用户注销后仍在 Windows 中运行 Java 进程

标签 java windows windows-services

我有一个在 Windows 2003 服务器中启动 Java 进程的批处理文件。根据安全策略,如果用户在一段时间内不活动,则该计算机的用户将被强制注销。问题在于,当用户注销时,进程也会终止。

我安排了一个新任务(控制面板 -> 计划任务)并选择了“当我的计算机启动时”选项并在那里提供了用户帐户详细信息。但是好像没有任何作用,用户还是登出,进程死掉了。是否需要重新启动才能使此更改生效?重新启动后,我是否会实现我的预期(保持进程 Activity )?

或者,将此进程作为 Windows 服务运行可以解决问题吗?如果是这样,您能告诉我如何使 Java 程序或批处理文件作为 Windows 服务运行吗?我不想使用任何其他第三方工具或库。

谢谢

最佳答案

如果您希望它在计划任务下运行,您必须确保没有选中“仅在用户登录时运行”,这通常意味着您需要提供密码。

Windows 服务是执行此操作的正常方法:Java service wrapper是第 3 方,但很多人使用它。

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

关于java - 即使在用户注销后仍在 Windows 中运行 Java 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/553175/

相关文章:

java - 抑制 server.log 中服务器抛出的警告

java - 将 ArrayList 内容转换为带逗号的字符串

c# - 在哪里安全地存储来自 Windows 服务的数据?

Delphi 服务监听 TCP 或 UDP

c++ - 使用C++学习Windows服务

.net - 增加的传出连接数

java - 我收到 - java.io.IOException 无法解析错误,尽管导入 IO

java - 使用 Byte Buddy 转发方法调用

java - 如何创建匿名 Python telnet 连接?

c++ - 通过从 C/C++ 调用 Windows API 函数来生成独立的汇编子例程