温馨提示×

linux nohup日志啥格式

小樊
45
2026-09-30 15:34:39
栏目: 智能运维

在 Linux 里,nohup 本身不规定日志格式,nohup 只是“忽略挂断信号(SIGHUP)”并默认把输出重定向到文件。

常见情况和“日志格式”说明如下:


1. nohup 默认日志

nohup command &

默认会生成:

nohup.out

内容格式 = 程序自己的输出格式

  • stdout / stderr 原样写入
  • 没有时间戳
  • 没有级别(INFO/WARN/ERROR)
  • 纯文本,取决于程序

例如 Java 程序可能输出:

2026-01-15 10:00:00 INFO  Starting application...
Exception in thread "main" java.lang.NullPointerException

2. 手动重定向日志(最常见)

nohup command > app.log 2>&1 &

或

nohup command >> app.log 2>&1 &

日志格式仍然是程序自己的输出,不是 nohup 规定的。


3. 带日期的日志(常用写法)

nohup 本身不支持,需要程序或 shell 处理:

nohup bash -c 'while true; do
  echo "$(date) hello"
  sleep 1
done' > app.log 2>&1 &

日志示例:

Wed Jan 15 10:00:01 CST 2026 hello
Wed Jan 15 10:00:02 CST 2026 hello

4. 常见“日志格式”类型

程序不同,格式不同:

简单文本

server started
user login: tom

时间戳 + 级别(推荐)

[2026-01-15 10:00:00] [INFO] service started
[2026-01-15 10:00:01] [ERROR] db connect failed

JSON 日志(现代服务)

{"time":"2026-01-15T10:00:00Z","level":"INFO","msg":"started"}

5. 总结

✅ nohup 没有固定日志格式
✅ 日志格式由被启动的程序决定
✅ nohup 只负责:

  • 不中断
  • 把输出写到文件(默认 nohup.out)

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

  • 是什么程序(Java / Python / Shell / Node)
  • 想要什么格式(带时间?按天切割?)

我可以给你一个现成可用的 nohup 日志方案。

0 踩