nohup java -jar
时间: 2023-05-09 14:00:53 浏览: 259
nohup java -jar是一种Linux命令。其中,nohup表示不挂断地运行命令,java表示使用Java虚拟机来运行程序,-jar表示使用指定的jar文件作为应用程序的入口。
这个命令通常用于Linux服务器上运行Java应用程序,并且可以将应用程序作为守护进程在后台运行。nohup命令可以使程序即使在当前shell退出之后也能继续运行,而不会被终止。此外,使用java -jar可以方便地运行一个已经打包成jar文件的Java应用程序。
通常情况下,应该配合使用一些参数来指定Java虚拟机的内存大小等配置,以确保应用程序能够稳定运行。例如,可以使用-Xms参数指定Java虚拟机的初始堆大小,-Xmx参数指定最大堆大小,还可以使用其他参数进行调优。
总之,nohup java -jar是一种非常实用的命令,可以方便地在Linux服务器上运行Java应用程序,使其成为可靠的后台服务。
相关问题
nohup Java -jar
### 使用 `nohup` 命令在后台运行 Java jar 包
为了确保 Java 应用程序能够在 Linux 或类 Unix 系统中持续运行而不受 SSH 连接中断的影响,可以使用 `nohup` 命令将应用程序置于后台运行。以下是实现这一目标的具体方法:
#### 启动命令结构
基本的 `nohup` 命令格式如下:
```bash
nohup java -jar your-application.jar > output.log 2>&1 &
```
- **`nohup`**: 防止因终端关闭而导致进程终止。
- **`java -jar your-application.jar`**: 启动指定的 JAR 文件作为 Java 应用程序。
- **`> output.log`**: 将标准输出重定向至名为 `output.log` 的文件中[^2]。
- **`2>&1`**: 将标准错误输出(stderr)重定向到标准输出流(stdout),从而统一记录日志[^4]。
- **`&`**: 表示将整个命令放入后台执行。
#### 日志管理
如果未显式定义输出文件,则默认的日志会被写入当前工作目录下的 `nohup.out` 文件[^3]。为了避免日志混乱或覆盖旧数据,建议始终手动设置一个特定名称的日志文件路径。
#### 查看与控制进程状态
可以通过以下方式监控已启动的应用程序及其关联的进程 ID (PID):
1. 列举所有正在运行的 Java 进程:
```bash
jps
```
2. 如果需要停止某个具体的服务实例,先找到对应 PID 并发送信号终止它:
```bash
kill -9 <PID>
```
#### 实际操作案例
假设有一个 Spring Boot 打包好的应用叫做 `myapp.jar` 存在于 `/home/user/applications/` 路径下,完整的部署流程可能如下所示:
1. 移步至目标位置并清理残留历史进程;
```bash
cd /home/user/applications/
ps aux | grep myapp.jar
kill -9 $(pgrep -f myapp.jar)
```
2. 正式启用新版本服务;
```bash
nohup java -jar myapp.jar > app-log.txt 2>&1 &
```
---
###
nohup java -jar app.jar 和java -jar app.jar区别
`nohup java -jar app.jar` 和 `java -jar app.jar` 是两条命令的不同用法。
`java -jar app.jar` 是在终端中直接运行 `app.jar` 的命令。这将启动一个 Java 应用程序,并将 `app.jar` 文件作为参数传递给 Java 虚拟机(JVM)来执行。
`nohup java -jar app.jar` 则是使用了 `nohup` 命令来运行 Java 应用程序。`nohup` 命令的作用是在后台运行一个命令,并且不受终端关闭或退出的影响。这意味着即使你关闭终端,Java 应用程序仍然会继续在后台运行。
所以,主要的区别在于 `nohup` 命令能够使 Java 应用程序在后台运行,而不受终端关闭的影响。
阅读全文
相关推荐














