【问题标题】:Run a java program in backend在后端运行一个java程序
【发布时间】:2012-02-17 06:06:59
【问题描述】:

大家好,我想运行一个 java 应用程序作为后端进程。这就像 tomcat 服务器。为此,我开发了一个应用程序。并将一个类作为主类并从一个脚本文件调用。即(startup.sh) file.in startup.sh 文件中我正在调用一个类。即 MainMethodClass。在主方法类中我已经编写了我的业务逻辑。当我在 linux 服务器中运行这个应用程序时,使用 putty 正在工作,直到 putty 窗口没有关闭。在腻子窗口之后关闭它也停止了。但是即使我也关闭了我也需要运行这个应用程序。我怎样才能实现这一点。

【问题讨论】:

标签: java linux background nohup


【解决方案1】:

Nohup 将分离您从当前控制台运行的进程,并在您关闭终端时让它继续。运行这样的东西。

nohup java -jar my.jar &

默认情况下,它会将输出通过管道传输到 nohup.out,因此如果您不希望这样做,可以尝试:

nohup java -jar my.jar > /dev/null &

【讨论】:

  • 我想运行以下命令“java -jar myApp.jar arg1 &”,它会导致 nohup:忽略输入并将输出附加到 `nohup.out'。我应该怎么做才能运行带有输入参数的命令?
【解决方案2】:

您应该能够执行以下操作:

nohup java -jar MyApplication.jar &

【讨论】:

    【解决方案3】:

    在 linux 机器上,你可以为你的 jar 创建一个服务(像 spring boot 这样的可执行 jar)

    # Set the Application as Service
    ln -s $APP_BASE/bin/$APP_NAME.jar /etc/init.d/$APP_NAME
    
    echo "Starting the application as service"
    service $APP_NAME start 
    

    【讨论】:

      【解决方案4】:

      这个问题与java无关,实际上与linux的运行方式有关。

      您需要执行以下操作:

      nohup <your_application_command> &
      

      分别注意开头和结尾的“nohup”和“&”。

      【讨论】:

      • 感谢大家的快速响应,它正在与 sh startup.sh & 一起工作,我在调用类文件(即 MainMethodClass)后进行了更改,它正在不间断地工作。再次感谢大家。
      猜你喜欢
      • 2013-02-19
      • 2011-04-17
      • 2015-06-21
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多