温馨提示×

nohup日志如何检索

小樊
52
2026-09-24 19:34:31
栏目: 编程语言

nohup 命令通常配合 > logfile 2>&1 & 或默认生成 nohup.out 来记录日志。检索 nohup 日志本质上就是对文本日志文件进行检索,常用方法如下:


一、确认日志文件位置

# 默认情况
nohup python app.py &      # 日志默认写在 ./nohup.out

# 常见自定义写法
nohup python app.py > app.log 2>&1 &

日志文件通常是:

  • nohup.out
  • 你指定的 xxx.log

二、基础检索命令

1. 实时查看日志(最常用)

tail -f nohup.out
  • 实时滚动显示最新日志
  • Ctrl + C 退出

只看最后 100 行:

tail -n 100 nohup.out

2. 关键字检索(grep)

grep "ERROR" nohup.out

忽略大小写:

grep -i "error" nohup.out

显示行号:

grep -n "Exception" nohup.out

多个关键字(或):

grep -E "ERROR|WARN" nohup.out

多个关键字(与):

grep "ERROR" nohup.out | grep "timeout"

3. 实时关键字监控

tail -f nohup.out | grep "ERROR"

4. 时间段检索

如果日志带时间戳(如 2026-01-21 10:00:00):

grep "2026-01-21 10:" nohup.out

5. 统计出现次数

grep -c "ERROR" nohup.out

6. 查看上下文(排查问题很实用)

grep -A 10 "ERROR" nohup.out   # 后10行
grep -B 10 "ERROR" nohup.out   # 前10行
grep -C 10 "ERROR" nohup.out   # 前后各10行

三、大日志文件处理

日志太大,直接打开卡顿

less nohup.out
  • 进入后输入 /关键字 搜索
  • n 下一个,N 上一个
  • q 退出

按时间拆分(如有时间戳)

sed -n '/2026-01-21 10:00/,/2026-01-21 11:00/p' nohup.out

四、进阶工具(可选)

  • awk:按列分析
  • journalctl(如果是 systemd 服务)
  • ELK / Loki:生产环境日志检索

五、推荐排查套路

tail -f nohup.out | grep -E "ERROR|Exception"

或

grep -C 20 "OutOfMemory" nohup.out

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

  • 用的什么程序(Python / Java / Node)
  • 日志格式示例
  • 想查什么问题(报错 / 性能 / 卡死)

我可以直接帮你写精准检索命令。

0 踩