nohup java -jar 文件名

在 Linux/Unix 系统中,nohup java -jar 是常用的后台启动 Java 应用的命令,其标准格式通常为 nohup java -jar your-app.jar > nohup.log 2>&1 &。下面详细解析其各部分及操作方法和注意事项:

命令各部分详解

  • nohup:该命令用于忽略挂起信号(SIGHUP),当用户退出终端或者终端被关闭时,正在运行的程序不会受到影响而继续在后台运行。
  • java -jar your-app.jar :这是执行 Java 应用程序的核心部分。java -jar 是 Java 提供的用于运行可执行 JAR 文件的命令,your-app.jar 需要替换为实际要运行的 JAR 文件的名称。
  • > nohup.log :这是输出重定向操作。它将命令的标准输出(stdout)重定向到指定的 nohup.log 文件中。也就是说,程序运行过程中产生的正常输出信息不会显示在终端屏幕上,而是被写入到 nohup.log 文件里。如果不指定文件名,默认会在当前目录创建 nohup.out 文件。若当前目录的 nohup.out 文件不可写,输出会重定向到 $HOME/nohup.out 文件中。若没有文件能创建或打开以用于追加,那么该命令不可调用 。
  • 2>&1 :这是将标准错误输出(stderr)重定向到标准输出(stdout),也就是将程序运行过程中产生的错误信息也一并写入到 nohup.log 文件中。
  • &:该符号表示将命令放到后台执行,这样在执行该命令后,终端可以继续接受并执行其他命令,不会被当前的 Java 程序阻塞。

操作示例

假设要在后台启动一个名为 myapp.jar 的 Java 应用,并将输出信息保存到 myapp.log 文件中,可以使用以下命令:

bash 复制代码
nohup java -jar myapp.jar > myapp.log 2>&1 &

执行该命令后,程序将在后台启动运行,输出信息会被记录到 myapp.log 文件中。

注意事项

  • 文件路径 :确保 your-app.jar 文件的路径正确。如果 JAR 文件不在当前工作目录下,需要使用绝对路径或相对路径来指定其位置。
  • 文件权限 :要保证当前用户对指定的输出文件(如 nohup.log)有写入权限,否则会出现输出重定向失败的问题。如果没有权限,可以使用 chmod 命令修改文件权限。
  • 日志查看 :可以使用 tail -f nohup.log 命令实时查看程序的输出日志,以便监控程序的运行状态。
  • 进程管理 :使用 ps -ef | grep java 命令可以查看当前系统中正在运行的 Java 进程,通过 kill 命令可以终止指定的 Java 进程。

以服务形式管理

另外,还可以将该 Java 程序以服务的形式进行管理,创建一个以 "服务名.service" 格式命名的文件,文件内容参考如下 :

plaintext 复制代码
[Unit]
Description: 描述服务
After: 描述服务类别

[Service]
Type=forking
ExecStart=/绝对路径/java -jar /绝对路径/your-app.jar > /绝对路径/nohup.log 2>&1
ExecReload=/绝对路径/重启脚本路径
ExecStop=/绝对路径/停止脚本路径
PrivateTmp=true

[Install]
WantedBy=multi-user.target

注意启动、重启、停止命令全部要求使用绝对路径,因为需要找到该服务对应的启动、重启、停止脚本。

相关推荐
ASS-ASH12 小时前
从力学与机械原理角度深度剖析:尊界V800刹车踏板支架断裂事件的技术逻辑
人工智能·python·数据可视化·机械工程·汽车安全·物理仿真·制动系统
xhy_070712 小时前
AI 读了 .env,密钥会原样发给大模型吗?WES Code 的密钥打码(附实测)
人工智能·python·数据挖掘·flask·ai编程·wes code
2401_8888597112 小时前
STM32H733 MPU、AXI、FMC学习
java·开发语言·stm32·spring
泡海椒13 小时前
JQuick-Excel 实战:用 STYLE 配置单元格与区域样式
开发语言·python·excel
威联通网络存储13 小时前
TS-h1283XU-RP 在医药批记录与检验场景的部署
网络·python
Patrick在香港13 小时前
时间戳凭空早了 8 小时:datetime.utcnow() 弃用实测与漂移复盘
数据库·python·标准库·datetime·时区·弃用
CV工程师丁Sir14 小时前
ArkWeb 手记 04|DevTools 调试与缓存清理
java·spring·缓存·harmonyos
东莞市云毅网络有限公司19 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
Sarvartha21 小时前
final 关键字
java·开发语言
2601_9520477921 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉