在 CentOS 上,nohup 运行的程序默认会把日志输出到当前目录下的 nohup.out 文件中。下面是常见查找方法和注意事项:
如果你是这样启动的:
nohup java -jar app.jar &
日志默认在:
./nohup.out
也就是 执行 nohup 命令时所在的目录。
ps -ef | grep 程序名
例如:
ps -ef | grep app.jar
/proc 查看实际工作目录ls -l /proc/PID/cwd
示例:
ls -l /proc/12345/cwd
输出类似:
lrwxrwxrwx 1 user user 0 ...
cwd -> /home/user/project
然后:
ls /home/user/project/nohup.out
如果你这样启动:
nohup ./start.sh > run.log 2>&1 &
那么日志在:
run.log
或:
nohup python test.py > /var/log/test.log 2>&1 &
日志在:
/var/log/test.log
find / -name nohup.out 2>/dev/null
lsof -p PID
查看该进程打开了哪些文件,包括日志文件。
tail -f nohup.out
可能原因:
systemd / crontab 方式运行✅ 不要用 nohup.out
nohup app > /var/log/app.log 2>&1 &
✅ 或使用 systemd(更推荐)
如果你愿意,可以把你 启动命令 或 进程名 发出来,我可以帮你精准定位日志路径。