在 CentOS 上,nohup 默认会把输出写到 当前目录下的 nohup.out(或你重定向的文件)。要实时查看日志,常用下面几种方式:
一、实时查看 nohup.out(最常用 ✅)
tail -f nohup.out
-
-f:实时滚动显示 -
Ctrl + C退出
如果文件不在当前目录:
tail -f /path/to/nohup.out
二、同时查看最新 100 行并实时追踪
tail -n 100 -f nohup.out
三、查看指定进程的 nohup 日志
先找进程:
ps -ef | grep 进程名
再看日志文件(假设你知道日志路径):
tail -f nohup.out
或:
lsof -p PID | grep log
四、如果 nohup 日志被重定向了
例如启动方式是:
nohup java -jar app.jar > app.log 2>&1 &
那么日志在 app.log:
tail -f app.log
五、更强大的实时查看(推荐)
1️⃣ 使用 less(可来回翻)
less +F app.log
-
F:实时追踪 -
Ctrl + C暂停 -
Shift + F继续 -
q退出
2️⃣ 使用 multitail(同时看多个日志)
yum install -y multitail
multitail nohup.out app.log
六、常见问题
❓ 日志不更新?
可能原因:
- 程序缓存(Java 常见)
- 输出被 fork 到别的地方
解决:
nohup java -jar app.jar > app.log 2>&1 &
七、常用组合总结 ✅
# 启动
nohup ./app.sh > app.log 2>&1 &
# 实时看
tail -f app.log
如果你能贴出 nohup 启动命令 或 程序类型(Java / Python / Shell),我可以帮你给出最合适的方案。