nohup 本身没有专门的“日志路径配置参数”,它的日志输出路径是通过 shell 重定向 来控制的。下面按常见场景给你说明。
nohup java -jar app.jar &
默认会生成:
nohup.out
位置:当前执行命令的目录
nohup java -jar app.jar > /data/logs/app.log 2>&1 &
含义:
>:标准输出2>&1:错误输出也写入同一个文件&:后台运行✅ 最常用
nohup java -jar app.jar \
> /data/logs/app.out \
2> /data/logs/app.err &
适合需要区分正常日志和错误日志的场景。
nohup java -jar app.jar >> /data/logs/app.log 2>&1 &
默认
>会覆盖,>>是追加
date 生成按日期的日志路径nohup java -jar app.jar > /data/logs/app-$(date +%Y%m%d).log 2>&1 &
或:
nohup java -jar app.jar > /data/logs/app-$(date +%F).log 2>&1 &
建议先创建目录:
mkdir -p /data/logs
否则 nohup 可能失败或回退到 nohup.out
jobs
或:
ps -ef | grep app.jar
❌ 以为 nohup 有 --log 参数
✅ 实际是 shell 重定向
❌ 日志路径写成相对路径却找不到
✅ 用绝对路径更稳妥
nohup java -jar app.jar \
> /data/logs/app.log \
2>&1 &
如果你愿意,可以告诉我:
我可以帮你给出更合适的日志方案(比如 logrotate 或 cronolog)。