Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux后台运行jar程序

Linux后台运行jar程序的流程步骤

作者:牛肉胡辣汤

在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态,本文将介绍如何在Linux中后台运行一个Java的jar程序,需要的朋友可以参考下

准备工作

在开始之前,确保您的Linux系统中已经安装了Java运行环境(JRE 或 JDK)。

步骤一:创建一个可执行的jar文件

首先,确保你已经编写了一个可执行的Java程序,并将其打包成一个jar文件。如果你已经有一个可执行的jar文件,可以跳过这一步。

$ cd /path/to/your/java/project
$ javac YourProgram.java
$ jar cvfe YourProgram.jar YourProgram YourProgram.class

在上述代码片段中,YourProgram.java是你的Java程序文件,YourProgram是你的主类名,YourProgram.class是编译后的字节码文件。执行这些命令将创建一个名为YourProgram.jar的jar文件。

步骤二:在后台运行jar程序

要在后台运行jar程序,可以使用以下命令:

$ nohup java -jar YourProgram.jar > output.log 2>&1 &

在上述命令中,nohup命令用于使程序忽略SIGHUP信号,并继续在后台运行。java -jar YourProgram.jar是运行jar程序的命令。> output.log将程序的标准输出重定向到一个名为output.log的文件。2>&1将标准错误输出重定向到和标准输出相同的地方。&用于将命令放入后台执行。 这样,您的jar程序就会在后台运行,并将输出写入output.log文件中。您可以使用tail -f output.log命令来查看实时日志。

步骤三:查看后台进程

可以使用以下命令来查看当前运行的后台进程:

$ ps -ef | grep YourProgram.jar

上述命令会列出所有包含YourProgram.jar的进程。您可以根据需要杀死指定进程,使用kill命令,如下所示:

$ kill process_id

在上述命令中,process_id是您要终止的进程的ID。 通过以上步骤,您就可以在Linux系统中成功地将一个Java的jar程序以后台进程的方式运行起来。

示例代码,以帮助理解:

#!/bin/bash
# 进入jar程序所在的目录
cd /path/to/your/jar/program
# 检查程序是否已经在运行
if pgrep -f "YourProgram.jar" > /dev/null; then
  echo "程序已在后台运行。"
else
  # 启动jar程序
  nohup java -jar YourProgram.jar > output.log 2>&1 & 
  echo "程序已成功启动并在后台运行。"
fi

在上述示例代码中,我们首先通过cd命令进入了存放jar程序的目录。然后,使用pgrep命令检查是否已有同名的后台进程在运行。如果已经有同名的进程在运行,输出提示信息并结束脚本的执行。如果没有同名进程在运行,我们执行nohup java -jar YourProgram.jar > output.log 2>&1 &命令来启动jar程序,并将标准输出和标准错误输出重定向到output.log文件中。同时,使用nohup命令使程序忽略SIGHUP信号,并继续在后台运行。 将上述代码保存为一个shell脚本文件(例如run_program.sh),并给予执行权限(chmod +x run_program.sh)。然后,您可以通过在终端中运行./run_program.sh来执行该脚本。 对于该示例代码,假设您的jar程序文件名为YourProgram.jar,并且存放在/path/to/your/jar/program目录下。脚本会检测是否已有同名的后台进程在运行,如果没有则启动程序,并将输出日志写入output.log文件中。 请注意,示例代码中使用了绝对路径,您需要根据实际情况修改路径和文件名以适配您的jar程序。

jar是Java中的一个命令行工具,用于创建、查看和操作Java归档文件(JAR文件)。JAR(Java Archive)文件是一种特殊的压缩文件格式,可以方便地打包和分发Java程序中的类、资源文件和元数据等内容。 jar命令的基本语法如下:

jar [选项] [jar文件] [输入文件]

以下是一些常用的jar命令选项:

  1. 创建JAR文件:
jar cf YourProgram.jar YourClass.class

上述命令将以YourClass.class文件创建一个名为YourProgram.jar的JAR文件。

jar xf YourProgram.jar

上述命令将解压缩名为YourProgram.jar的JAR文件到当前目录。

jar tf YourProgram.jar

上述命令将列出名为YourProgram.jar的JAR文件中的所有文件。

jar uf YourProgram.jar YourClass.class

上述命令将向名为YourProgram.jar的JAR文件中添加YourClass.class文件。

jar tvf YourProgram.jar

上述命令将显示名为YourProgram.jar的JAR文件的详细信息,包括每个文件的权限、大小和修改日期等。 jar命令不仅可以用于打包和解压JAR文件,还可以用于操作WAR文件(Web Application Archive)和EAR文件(Enterprise Application Archive)等。您可以通过添加不同的选项和参数来实现更多复杂的操作。

到此这篇关于Linux后台运行jar程序的流程步骤的文章就介绍到这了,更多相关Linux后台运行jar程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文