温馨提示×

centos nohup日志怎么找

小樊
38
2026-07-20 20:43:16
栏目: 智能运维

CentOS 上,nohup 运行的程序默认会把日志输出到当前目录下的 nohup.out 文件中。下面是常见查找方法和注意事项:


一、默认日志位置

如果你是这样启动的:

nohup java -jar app.jar &

日志默认在:

./nohup.out

也就是 执行 nohup 命令时所在的目录


二、确认 nohup.out 在哪里

1️⃣ 先找到进程 PID

ps -ef | grep 程序名

例如:

ps -ef | grep app.jar

2️⃣ 通过 /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

四、常见查找命令

✅ 全盘查找 nohup.out

find / -name nohup.out 2>/dev/null

✅ 查找程序相关日志

lsof -p PID

查看该进程打开了哪些文件,包括日志文件。


✅ 实时查看日志

tail -f nohup.out

五、常见问题

❓ 没有 nohup.out?

可能原因:

  • 输出被重定向了
  • 程序还没输出
  • 你不在正确的工作目录
  • 程序以 systemd / crontab 方式运行

六、推荐做法(生产环境)

不要用 nohup.out

nohup app > /var/log/app.log 2>&1 &

✅ 或使用 systemd(更推荐)


如果你愿意,可以把你 启动命令进程名 发出来,我可以帮你精准定位日志路径。

0