news 2026/6/10 20:58:34

java nohup java

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java nohup java

一、核心用法与完整示例

1. 基础语法(运行 Java 程序)

bash

运行

# 最基础格式:后台运行Java程序,输出日志到nohup.out nohup java -jar your-application.jar > app.log 2>&1 &
2. 各参数详解(新手必看)
部分作用说明
nohup核心命令,全称 “no hang up”,让程序忽略终端挂断信号(SSH 断开也不停止)
java -jar xxx.jar运行 Java 可执行 jar 包(最常用场景),若为 class 文件则用java MainClass
> app.log将程序标准输出(stdout)重定向到app.log文件(替代默认的 nohup.out)
2>&1将程序错误输出(stderr,如异常堆栈)重定向到和标准输出相同的文件(日志不丢失)
&将程序放入后台运行,终端可继续执行其他命令
3. 进阶实用示例
(1)指定 JVM 参数运行(生产环境必备)

bash

运行

# 设置堆内存、编码、日志配置,后台运行并指定日志文件 nohup java -Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Dlogging.config=./logback.xml -jar your-app.jar > app.log 2>&1 &
  • -Xms512m:JVM 初始堆内存 512MB
  • -Xmx1024m:JVM 最大堆内存 1GB
  • -D:设置系统参数(如编码、日志配置文件)
(2)后台运行并记录进程 ID(方便后续停止)

bash

运行

# 运行程序并将PID写入pid.file,便于管理 nohup java -jar your-app.jar > app.log 2>&1 & echo $! > pid.file
  • $!:获取刚启动的后台进程 ID
  • 停止程序时可执行:kill $(cat pid.file)
(3)不生成日志文件(仅输出到 null,慎用)

bash

运行

# 忽略所有输出(适合无需日志的后台程序) nohup java -jar your-app.jar > /dev/null 2>&1 &

二、常用运维操作

1. 查看运行状态

bash

运行

# 查看后台运行的Java进程 ps -ef | grep java # 或更简洁的方式 jps -l # 仅显示Java进程ID和主类/jar包名
2. 停止后台 Java 程序

bash

运行

# 方式1:通过进程ID停止(推荐) kill 12345 # 12345为jps查到的进程ID # 方式2:强制停止(进程无响应时用) kill -9 12345 # 方式3:通过pid.file停止 kill $(cat pid.file)
3. 查看实时日志

bash

运行

# 实时监控日志输出(类似tail -f) tail -f app.log # 查看最后100行日志 tail -n 100 app.log

三、常见问题与注意事项

  1. 权限问题:若提示nohup: failed to run command 'java': No such file or directory,说明 Java 环境未配置,需指定 java 绝对路径(如/usr/local/jdk/bin/java)或配置JAVA_HOME
  2. 日志文件过大:生产环境需配合日志切割工具(如 logrotate),避免 app.log 占满磁盘。
  3. 程序启动失败:先去掉&nohup直接运行java -jar xxx.jar,排查启动报错(如端口占用、配置文件错误)。
  4. 后台进程退出:若 SSH 断开后程序停止,需检查是否用su切换用户运行,建议用screensystemd替代(长期运行更稳定)。

总结

  1. nohup java -jar xxx.jar > app.log 2>&1 &是后台运行 Java 程序的核心命令,关键是重定向日志并放入后台。
  2. 生产环境需添加 JVM 参数、记录进程 ID,方便后续运维。
  3. 排查问题时先脱离 nohup 直接运行,定位启动错误后再后台部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 19:39:30

java图像处理整合:BufferedImage与OCR API对接实战

Java图像处理整合:BufferedImage与OCR API对接实战 📖 项目背景:OCR文字识别的工程挑战 在现代信息自动化系统中,光学字符识别(OCR) 已成为连接物理文档与数字世界的桥梁。无论是发票扫描、证件录入还是智能…

作者头像 李华
网站建设 2026/6/10 12:25:52

PlotNeuralNet终极指南:快速创建专业神经网络可视化图表

PlotNeuralNet终极指南:快速创建专业神经网络可视化图表 【免费下载链接】PlotNeuralNet Latex code for making neural networks diagrams 项目地址: https://gitcode.com/gh_mirrors/pl/PlotNeuralNet 还在为制作神经网络图表而烦恼吗?PlotNeur…

作者头像 李华
网站建设 2026/6/10 5:15:11

2026 年 AI 短视频工具测评和选型指南

在内容创作工业化的2026年,数字人技术已从概念展示演变为驱动营销、教育、跨境电商等领域的核心生产力。市场的成熟也带来了选择的复杂性:是追求电影级的创意,还是需要7x24小时直播带货?是个人创作者的轻量化试水,还是…

作者头像 李华
网站建设 2026/6/10 12:52:21

视频到视频翻译技术完全解析:从语义分割到逼真视频的智能转换

视频到视频翻译技术完全解析:从语义分割到逼真视频的智能转换 【免费下载链接】imaginaire NVIDIAs Deep Imagination Teams PyTorch Library 项目地址: https://gitcode.com/gh_mirrors/im/imaginaire 视频到视频翻译技术正在重新定义人工智能在视觉内容生成…

作者头像 李华
网站建设 2026/6/10 13:30:55

免费视频修复神器:SeedVR让模糊视频秒变4K超清

免费视频修复神器:SeedVR让模糊视频秒变4K超清 【免费下载链接】SeedVR-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR-7B 还在为模糊的家庭录像和低分辨率视频发愁吗?字节跳动推出的SeedVR视频增强工具为您带来革命性…

作者头像 李华