在 Linux 中,使用 nohup 启动程序时,日志路径通常取决于你是怎么写命令的。下面分情况说明怎么找:
nohup command &如果你是这样启动的:
nohup python app.py &
✅ 默认日志路径:
当前目录下的 nohup.out
查看路径:
ls -l nohup.out
pwd
查看内容:
tail -f nohup.out
如果你这样写的:
nohup python app.py > app.log 2>&1 &
✅ 日志就在你指定的文件:
app.log
查看:
tail -f app.log
ps + lsofps -ef | grep 程序名
假设 PID 是 12345:
lsof -p 12345 | grep -E 'txt|log|out'
或看标准输出:
ls -l /proc/12345/fd/1
ls -l /proc/12345/fd/2
fd/1= 标准输出(日志常在这里)
fd/2= 标准错误
nohup 但没看到 nohup.out可能原因:
/dev/null检查:
find ~ -name nohup.out 2>/dev/null
如果你其实是:
systemctl start xxx
那日志不在 nohup.out,而在:
journalctl -u xxx -f
| 启动方式 | 日志位置 |
|---|---|
nohup cmd & |
./nohup.out |
nohup cmd > log 2>&1 & |
log |
| 不知道 | /proc/PID/fd/1 |
| systemd | journalctl |
如果你愿意,可以把你具体启动命令或程序名发出来,我可以直接帮你定位日志路径。