有没有办法将 Java 作为服务运行,同时仍然能够向控制台发送命令?

有没有办法将 Java 作为服务运行,同时仍然能够向控制台发送命令?

我有一个在 Java 控制台中运行的 Java 程序,我想将其作为服务运行。这本身并不是一个大问题,因为我可以使用类似YAJSW(Yet Another Java Service Wrapper) 的东西。

问题在于我需要在备份运行之前锁定数据库文件,并在备份完成后解锁数据库文件,这只能通过命令通过 Java 控制台完成。目前,这个 Java 程序正在 Linux 服务器上运行,我可以通过该服务器访问 Java 控制台来tmux自动执行备份过程。但由于各种原因,我希望摆脱这台服务器。

简而言之,我想知道是否有人知道在 Windows 上将 Java 进程作为服务运行的方法,但仍然能够向控制台发送命令。这可以通过使用参数或类似的东西调用包装器来实现。我不关心控制台输出。在极少数情况下,我需要此输出,我完全可以停止服务并在手动过程中运行它。我只需要向 Java 控制台的控制台发送命令来自动执行备份过程。

有什么想法吗?我似乎找不到任何方法来做到这一点。

相关内容