【问题标题】:Java program running in background后台运行的Java程序
【发布时间】:2012-05-05 06:03:40
【问题描述】:

我有一个简单的 java 程序,它只是一段从数据库中读取并根据特定条件修改数据库内容的代码。现在,我想要的是这个程序应该在启动时自动启动并在后台静默运行,除非有人从任务管理器中杀死它。 我以前从未做过这样的事情,也不知道该怎么做。有人可以帮我解决这个问题吗? 谢谢。。

【问题讨论】:

  • 您希望您的 java 应用程序在启动时运行?为什么不在startup文件夹中放一个bat文件来启动java applicaiotn呢?假设它是 Windows,应该可以完成它......

标签: java background startup


【解决方案1】:

按照以下步骤完成工作:(假设您使用的是 windows 并安装了 jre)

  • 首先编译您的 java 程序并将类文件放在一个位置。
  • 现在创建一个 bat 文件并将 java LOCATION TO THAT CLASS FILE/MyProgram 放入其中。
  • 将 bat 文件放入启动程序中
  • 重新启动系统,您的程序将在后台运行..! 希望这会对您有所帮助。

【讨论】:

  • 感谢您的建议。但是当我在命令中给出类文件的绝对路径时,我遇到了一些问题。它抛出此错误“线程“main”中的异常 java.lang.NoClassDefFoundError:C:\Documents and Settings\Desktop\Test”。但是,如果我迁移到目录然后运行命令,它工作正常!对此有任何见解吗??
  • 您需要在系统中设置类路径/路径变量。
  • @blue 在你的答案中也添加这个ulrichpalha.com/myblog/2011/11/19/…
  • 这个问题已经很久没有被问过了,但是如果以后有人读到这个,写你的批处理然后创建一个 Windows 链接(右键单击>创建链接)并复制链接在启动文件夹中避免了类路径问题
【解决方案2】:

这里有两个问题

  1. 如何将此程序添加到启动中

  2. 将程序作为守护进程运行(后台进程)

    • 最简单的方法是使用while 循环并在while 循环中休眠所需的时间间隔。然后执行数据库 操作。

也适用于 windows,你可以检查这个 JSL http://www.roeschter.com/

谢谢。

【讨论】:

  • while(true) 不是 100% 加载处理器吗?
【解决方案3】:

首先创建您的 jar bash,然后将其添加到您的 crontab 任务列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 2012-12-23
    相关资源
    最近更新 更多