Java -jar 如何在后台运行项目

Java Jar包后台运行方法
博客提到2019独角兽企业重金招聘Python工程师,重点介绍了运行Java Jar包的问题及解决办法。直接运行Jar包,关闭窗口项目会停止,可通过特定方式让其在后台运行,还说明了相关数字代表的输入输出含义。

说到运行jar包通常我们都会以下面的方式运行:

java -jar springboot-0.0.1-SNAPSHOT.jar

这样运行的话会有一个问题,就是我们一关闭当前窗口就会停止运行项目,要想解决这个问题,就需要在后台运行。

nohup java -jar babyshark-0.0.1-SNAPSHOT.jar  > log.file  2>&1 &

上面的2 和 1 的意思如下:

0    标准输入(一般是键盘)
1    标准输出(一般是显示屏,是用户终端控制台)
2    标准错误(错误信息输出)

将运行的jar 错误日志信息输出到log.file文件中,然后(>&1)就是继续输出到标准输出(前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行。
生成一个数字,表示运行的进程号

转载于:https://my.oschina.net/duanvincent/blog/3055520

### Java -jar 后台运行方法 在不同的操作系统中,`java -jar` 命令可以通过多种方式实现后台运行。以下是针对不同操作系统的具体解决方案: #### Linux/Unix 系统 在 Linux 或 Unix 类型的系统中,可以使用 `nohup` 命令来使程序以后台模式运行。该命令会忽略挂起信号(SIGHUP),从而允许程序即使在终端关闭的情况下继续执行。 ```bash nohup java -jar your-application-0.0.1-SNAPSHOT.jar > msg.log 2>&1 & ``` 上述命令中的各部分含义如下: - `nohup`: 忽略挂起信号。 - `>`: 输出重定向到指定的日志文件 `msg.log` 中。 - `2>&1`: 将标准错误输出重定向至标准输出流。 - `&`: 让命令在后台运行[^4]。 #### Windows 系统 对于 Windows 平台,有几种常见的方法可以让 JAR 文件以后台模式运行。 ##### 方法一:使用 `start javaw` 可以直接利用 `javaw.exe` 来启动应用程序而不显示控制台窗口。创建一个 `.bat` 批处理脚本文件,在其中输入以下内容即可完成设置: ```batch @echo off start javaw -jar D:\path-to-your-jar\your-application-0.0.1-SNAPSHOT.jar >> D:\logs\application-log.txt & exit ``` 此配置不仅实现了无界面化运行,还追加了日志记录功能以便于后续排查问题[^5]。 ##### 方法二:无需 JDK 的情况下的解决办法 当目标机器未安装完整的 JDK 而仅有 JRE 时,则需将所需的 jre 和 jar 放在同一目录下并通过批处理文件调用相应路径下的 jre/bin/javaw 实现相同效果: 假设已准备好名为 myapp.bat 的批处理文件,其内部代码应类似于这样: ```batch @echo off D:\myAppFolder\jre\bin\javaw -jar D:\myAppFolder\your-app.jar exit ``` 这种方法特别适用于分发独立的应用软件给最终用户而不需要他们额外安装任何东西的情况[^3]。 ### 总结 无论是哪种平台,都存在有效的手段使得基于 Java 构建的服务端应用能够稳定可靠地作为守护进程长期工作下去。选择合适的技术方案取决于实际应用场景的需求以及可用资源条件等因素考虑之后再做决定最为恰当不过了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值