在 CentOS 中,使用 nohup 启动程序时,如果没有显式重定向输出,日志默认会写到当前目录下的 nohup.out 文件里。下面是几种常见查找 nohup 日志路径的方法:
如果你是这样启动的:
nohup java -jar app.jar &
那么日志一般在这里:
./nohup.out
也就是你执行 nohup 命令时所在的目录。
ps + lsof 找ps -ef | grep 你的程序名
假设 PID 是 12345:
lsof -p 12345 | grep txt
# 或
lsof -p 12345 | grep -E '1u|2u'
1u = 标准输出(stdout)
2u = 标准错误(stderr)
你会看到类似:
java 12345 user 1w REG 8,1 12345 /home/user/nohup.out
/proc(非常准)ls -l /proc/12345/fd
示例:
lrwx------ 1u -> /home/user/nohup.out
lrwx------ 2u -> /home/user/nohup.out
如果你启动时这样写:
nohup java -jar app.jar > /var/log/app.log 2>&1 &
那么日志就在:
/var/log/app.log
find / -name nohup.out 2>/dev/null
或当前用户:
find ~ -name nohup.out
✅ 不要依赖 nohup.out
✅ 明确指定日志:
nohup java -jar app.jar > /var/log/app.log 2>&1 &
如果你愿意,可以把 启动命令 或 ps -ef 输出发出来,我可以帮你精确定位日志路径。