在 Debian(其实所有 Linux 通用)里,nohup 日志一般指的是用 nohup 启动程序时,输出被重定向到的日志文件。下面按常见情况 + 定位方法说明。
如果你是这样启动的:
nohup command &
那么:
nohup.out
查找方式:
ls -l nohup.out
如果当前目录没权限写,会写到:
~/nohup.out
很多人会这样写:
nohup command > app.log 2>&1 &
或
nohup command >> /var/log/app.log 2>&1 &
✅ 日志位置就是你重定向的文件
查找:
find / -name "app.log" 2>/dev/null
ps -ef | grep command
或
pgrep -a command
ls -l /proc/<PID>/fd
你会看到类似:
1 -> /home/user/app.log
2 -> /home/user/app.log
✅ 这就是 nohup 日志真实位置
lsof -p <PID> | grep txt
或
lsof -p <PID> | grep log
如果你是用:
systemctl start xxx
那 不是 nohup 日志,而是:
journalctl -u xxx
tail -f app.log
或
tail -n 100 app.log
| 情况 | 说明 |
|---|---|
| 找不到 nohup.out | 可能被重定向或写到了家目录 |
| 日志不更新 | 程序可能缓冲输出(加 stdbuf -oL) |
| 权限问题 | 当前目录不可写时会失败 |
| Docker / screen / tmux | 不属于 nohup 日志 |
如果你愿意,可以把:
ps 输出贴出来,我可以直接帮你精确定位日志路径。