nohup java -jar pgcz.jar >nohup.out 2>&1 &
时间: 2023-11-16 13:57:46 浏览: 142
这是一个在Linux系统下运行Java程序的命令。其中nohup表示不挂断地运行命令,即使终端关闭也不会停止程序的运行;java -jar pgcz.jar表示运行pgcz.jar这个Java程序;>nohup.out表示将程序的标准输出重定向到nohup.out文件中;2>&1表示将标准错误输出重定向到标准输出中,即一起输出到nohup.out文件中。最后的&表示将程序放到后台运行,不占用当前终端。
这个命令的作用是在后台运行Java程序,并将程序的输出和错误信息重定向到nohup.out文件中,以便于查看和调试程序。
相关问题
nohup java -jar eip.jar > ./nohup.out 2>&1 &
### 如何通过 `nohup` 命令后台运行 Java 程序并重定向日志
#### 背景说明
`nohup` 是一种用于在 Linux 和 Unix 系统中让程序忽略挂起信号(SIGHUP)的工具。当用户退出终端时,通常会导致正在运行的任务被中断,而使用 `nohup` 可以防止这种情况发生。此外,可以通过重定向操作符将程序的标准输出和标准错误输出保存到特定的日志文件中。
#### 实现方法
以下是几种常见的实现方式:
1. **默认情况下,输出会被重定向到 `nohup.out` 文件**
如果不指定任何重定向选项,默认情况下,`nohup` 的所有输出都会被写入名为 `nohup.out` 的文件中[^1]。例如:
```bash
nohup java -jar your_program.jar &
```
2. **将输出重定向到自定义日志文件**
若要将输出保存到其他位置而不是默认的 `nohup.out` 文件,则可以使用 `>` 或者 `>>` 来指定目标文件名。单个大于号 (`>`) 表示覆盖模式;双大于号 (`>>`) 则表示追加模式。例如:
```bash
nohup java -jar your_program.jar > Log.log &
```
上述命令会将标准输出重定向至 `Log.log` 文件,并且如果文件已存在则会清空其内容后再写入新数据。
3. **完全禁用输出记录**
若不需要保留任何形式的日志信息,可利用 `/dev/null` 设备节点丢弃所有的输出内容。这适用于那些无需关注执行过程中的打印消息的情况。具体做法如下所示:
```bash
nohup java -jar your_program.jar > /dev/null 2>&1 &
```
此处不仅正常流(`stdout`)指向了黑洞设备(`/dev/null`),而且还将异常流(`stderr`)也合并到了同一地方,从而实现了彻底屏蔽一切形式的信息反馈的目的[^2].
4. **按照日期动态创建日志文件**
对于长期运行的服务而言,可能更倾向于依据时间戳来区分不同时间段产生的日志条目。下面给出了一种基于月份分类存储每日独立日志的方法论实例演示代码片段:
```bash
nohup java -jar your_jar_file.jar > /path/to/logs/$(date +"%Y-%m")/output_$(date +"%Y-%m-%d").log 2>&1 &
```
在这条语句里头,我们借助 shell 内置函数 date 获取当前系统的年月(%Y-%m)以及完整的日期(%Y-%m-%d),进而构建出了一个分层结构化的路径布局方案以便更好地管理和检索历史档案资料[^4]。
#### 总结
以上介绍了四种不同的策略用来处理由 `nohup` 执行后的 Java 应用所产生的各类输出行为控制技巧。开发者可以根据实际需求灵活选用最适合自己的那套机制来进行相应的配置调整工作。
nohup java -jar xxx.jar --server.port=8081 > nohup.out 2>&1 & 啥意思
这是一个在Linux系统下运行Java应用程序的命令。其中nohup命令表示不挂断地运行命令,即使终端关闭或者用户退出也不会影响命令的执行。java -jar xxx.jar表示运行一个名为xxx.jar的Java应用程序。--server.port=8081表示指定应用程序的端口号为8081。> nohup.out 2>&1 &表示将应用程序的输出重定向到nohup.out文件中,并将标准错误输出也重定向到nohup.out文件中,最后将应用程序放到后台运行。
阅读全文
相关推荐













