【问题标题】:Is there a Java equivalent to a windows service [duplicate]是否有相当于 Windows 服务的 Java [重复]
【发布时间】:2014-03-13 16:05:05
【问题描述】:

我知道您可以通过从批处理文件或类似的文件中调用 jar 作为 Windows 服务来运行它,而且我知道当您使用 WAS 或 Glassfish 等应用程序服务器时,您的 JVMS 正在“运行“本身。但除非我弄错了,否则这些不一定是“服务”。也就是说,在没有任何用户输入的情况下执行的进程。据我了解,您仍然需要调用 JVM 以使其执行进程(如果我错了,请随时纠正我)。但我一直很好奇什么是 Java/Linux 等效的 Windows 服务?也许是 JVM 运行在 Tomcat 或 Glassfish 等应用服务器中。

【问题讨论】:

  • *nix 系统上有 cron……但我怀疑是否有任何 Java 进程可以在没有 JVM 的情况下运行。还有Spring Batch

标签: java


【解决方案1】:

Windows 服务基本上是为您运行进程的后台任务。在 Windows 中,它们通常是二进制文件 (.exe),可以连接到 Windows 服务平台,以获取来自操作系统(和服务管理屏幕)的启动和关闭消息。

无论何时执行 Java,都需要运行时组件 (JVM) 来运行它。甚至 Websphere 和其他应用服务器也在 JVM 中运行。

在 Linux 中没有任何东西可以让您挂接到“服务”中,但您可以在启动时模拟功能并在 Linux 中运行启动项。

【讨论】:

    【解决方案2】:

    这取决于所使用的 Linux 的确切风格,但 Windows 服务的概念兄弟姐妹(即操作系统启动时操作系统启动的长期运行的守护进程)是 upstartsystemd 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 2022-11-08
      • 2019-04-24
      • 2014-02-02
      相关资源
      最近更新 更多