温馨提示×

nohup日志怎么重定向

小樊
51
2026-09-21 17:58:58
栏目: 编程语言

在 Linux 中使用 nohup 运行程序时,默认会把输出写到当前目录的 nohup.out 文件里。如果你想要自定义日志重定向,可以用 shell 的重定向语法。


一、基本用法

1️⃣ 标准输出重定向到日志文件

nohup command > app.log 2>&1 &

说明:

  • >:重定向标准输出(stdout)
  • 2>&1:把标准错误(stderr)也重定向到 stdout
  • &:后台运行

✅ 推荐写法(最常用)


2️⃣ 标准输出和错误分开记录

nohup command > app.out 2> app.err &
  • app.out:正常日志
  • app.err:错误日志

3️⃣ 追加日志(不覆盖)

nohup command >> app.log 2>&1 &
  • >>:追加写入

二、指定日志路径

nohup command > /data/logs/app.log 2>&1 &

三、忽略所有输出(丢到黑洞)

nohup command > /dev/null 2>&1 &

四、结合 nohup 的完整示例

nohup python main.py > run.log 2>&1 &

查看日志:

tail -f run.log

五、常见坑提醒 ⚠️

  1. 一定要加 &,否则不是后台运行
  2. 写 2>&1 时顺序不能反
    ❌ 2>&1 > log 是错误的
  3. 退出终端前确保是 nohup + &

如果你用的是 Java / Python / Shell / Spring Boot,也可以告诉我,我可以给你更针对性的示例。

0 踩