Linux中jar包 后台运行方式

本文详细介绍了在Linux环境下运行jar包的四种不同方法,包括直接运行、后台运行、使用nohup命令使程序在终端关闭后仍能继续运行,以及重定向输出到文件。通过这些技巧,可以有效管理在Linux系统上的Java应用程序。

Linux 运行jar包命令如下:

方式一:

java -jar Sub-Sign-0.0.1-SNAPSHOT.jar

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?

方式二:

java -jar Sub-Sign-0.0.1-SNAPSHOT.jar &

&代表在后台运行。
特点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?

方式三:

nohup java -jar Sub-Sign-0.0.1-SNAPSHOT.jar &

nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

方式四:

nohup java -jar Sub-Sign-0.0.1-SNAPSHOT.jar >temp.txt &

解释下 >temp.txt

command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

可通过jobs命令查看后台运行任务

jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。

fg 23
### 实现Java JAR文件作为守护进程在Linux后台执行 为了确保Java应用程序能够在Linux环境中作为一个持久性的守护进程运行,可以采用多种方法来实现这一目标。一种常见的方式是利用`nohup`命令配合重定向操作符以及`&`符号将应用放入后台长期稳定工作[^4]。 具体来说,在终端输入如下指令可达成目的: ```bash nohup java -jar YourApplication.jar > app_output.log 2>&1 & ``` 上述命令中的各个部分含义分别为: - `nohup`: 即使用户退出登录也不会中断正在运行的应用; - `java -jar YourApplication.jar`: 执行指定的JAR; - `> app_output.log`: 将标准输出流导向至名为`app_output.log`的日志文件中保存; - `2>&1`: 表示错误信息同样会被记录到同一日志文件里; - `&`: 让整个过程以后台模式启动,从而不影响其他任务的操作; 此外,还可以编写Bash脚本用于更灵活地管理和控制服务状态,比如设置环境变量、定义更多复杂的逻辑等[^1]。对于Spring Boot这类自带嵌入式服务器框架构建的应用而言,这种方法尤为适用,因为它们可以直接被打成独立的可执行单元——JAR文件,并通过简单的命令完成部署和运维需求[^3]。 当涉及到更加复杂的服务管理时,则建议考虑使用诸如Systemd这样的现代初始化系统和服务管理器来进行配置,这能提供更为强大稳定的守护功能和支持特性。 #### 示例:创建一个简单的Bash脚本来启动Java应用 下面是一个简单例子展示如何创建一个shell脚本来简化这个流程: ```bash #!/bin/bash # 设置必要的路径和其他参数 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 cd /path/to/your/app/ # 启动Java应用并将输出写入特定位置 nohup $JAVA_HOME/bin/java -jar your-app-name.jar >> /var/log/myapp.log 2>&1 & echo "Started the application." ``` 此脚本首先设置了所需的环境变量(如`JAVA_HOME`),切换到了JAR文件的工作目录,最后调用了带有适当选项的`nohup`命令来启动该程序并将其输出重定向给定的日志文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值