![有没有办法将 Java 作为服务运行,同时仍然能够向控制台发送命令?](https://linux22.com/image/708119/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%B0%86%20Java%20%E4%BD%9C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%90%8C%E6%97%B6%E4%BB%8D%E7%84%B6%E8%83%BD%E5%A4%9F%E5%90%91%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%8F%91%E9%80%81%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我有一个在 Java 控制台中运行的 Java 程序,我想将其作为服务运行。这本身并不是一个大问题,因为我可以使用类似YAJSW
(Yet Another Java Service Wrapper) 的东西。
问题在于我需要在备份运行之前锁定数据库文件,并在备份完成后解锁数据库文件,这只能通过命令通过 Java 控制台完成。目前,这个 Java 程序正在 Linux 服务器上运行,我可以通过该服务器访问 Java 控制台来tmux
自动执行备份过程。但由于各种原因,我希望摆脱这台服务器。
简而言之,我想知道是否有人知道在 Windows 上将 Java 进程作为服务运行的方法,但仍然能够向控制台发送命令。这可以通过使用参数或类似的东西调用包装器来实现。我不关心控制台输出。在极少数情况下,我需要此输出,我完全可以停止服务并在手动过程中运行它。我只需要向 Java 控制台的控制台发送命令来自动执行备份过程。
有什么想法吗?我似乎找不到任何方法来做到这一点。