如何让Java程序在后台运行?

时间:2013-05-09 01:49:25

标签: java

我查看了大量不同的StackOverflow问题以及其他网站上的文章,但没有一个问题与我正在寻找的内容完全相同。

我正在尝试做什么:

我有一个需要睡眠一段时间的程序,然后检查以确保程序仍在运行,然后再次进入睡眠状态。我已经把那部分做得很好,花花公子,但是我遇到了一个让它在后台运行的问题。我试图让它运行没有系统托盘,没有命令提示窗口,只是一个过程。有什么方法可以做到这一点吗?真的很烦我必须有一个24/7的命令提示窗口,这个程序就像这个一样简单,如果有人能提供帮助,那就太棒了!

(另请注意,我不是在谈论从命令行编译,我说在打开java程序的.exe版本之后,如何在没有命令提示符窗口或GUI的情况下打开exe文件)

谢谢!

编辑:是的,我正在运行Windows,此程序将仅在Windows操作系统上运行。

3 个答案:

答案 0 :(得分:4)

你想要的是一个守护程序。 Windows等效的守护程序是Windows服务。

因此,一种解决方案是将您的程序作为Windows服务运行。将命令行java程序转换为ProcRun的服务非常简单。我上周刚刚用一个特定的程序做了这个 - 花了大约半天时间,主要是因为这是我第一次这样做。

使其成为Windows服务的优势在于,您可以将其设置为在计算机启动时自动启动。

答案 1 :(得分:0)

查看javaw,它是JRE的标准配置

答案 2 :(得分:0)

从任务计划程序运行此VBS脚本:

Set Shell = CreateObject("WScript.Shell")
Shell.CurrentDirectory = "C:\Users\myuser\mylib" 
Shell.Run "java.exe MyClass", 0, False