温馨提示×

debian nohup日志怎么找

小樊
49
2026-10-07 10:38:09
栏目: 智能运维

在 Debian 里用 nohup 启动程序时,日志默认去哪、怎么找,分几种常见情况:


1. 默认情况(最常见)

如果你是这样运行的:

nohup your_command &
  • 标准输出(stdout)和错误输出(stderr)默认会写入当前目录的:
nohup.out

查找方式:

ls -l nohup.out
cat nohup.out
tail -f nohup.out

如果当前目录不可写,nohup.out 会写到:

~/nohup.out

2. 自己重定向了日志(更推荐)

很多人会显式指定日志文件:

nohup your_command > app.log 2>&1 &

或者:

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

查找方式就是看你写的路径:

tail -f /var/log/app.log

3. 不知道日志在哪,怎么反查?

方法一:看进程打开的文件

ps aux | grep your_command

拿到 PID 后:

ls -l /proc/<PID>/fd

你会看到类似:

1 -> /home/user/nohup.out

那就是日志文件。


方法二:用 lsof(需安装)

lsof -p <PID>

或:

lsof | grep nohup.out

4. 如果什么日志都没有

可能原因:

  • 程序没输出
  • 输出被丢弃了(如 > /dev/null)
  • 程序崩溃前没来得及写

可以用:

dmesg | tail
journalctl -xe

看系统层错误(尤其服务类程序)


5. 建议做法(最佳实践)

nohup your_command >> /var/log/your_app.log 2>&1 &

再用:

tail -f /var/log/your_app.log

如果你愿意,可以告诉我:

  • 你具体的 nohup 启动命令
  • 是脚本 / Python / Java / 其他

我可以帮你精确指出日志在哪。

0 踩