温馨提示×

nohup日志怎样重定向

小樊
44
2026-09-15 16:20:20
栏目: 编程语言

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


一、基本用法

nohup command > output.log 2>&1 &

含义:

  • >:标准输出(stdout)重定向到 output.log
  • 2>&1:标准错误(stderr)也重定向到 stdout(即同一个日志文件)
  • &:后台运行

二、常见示例

1. 输出和错误写入同一个日志

nohup python app.py > app.log 2>&1 &

2. 输出和错误分别写不同日志

nohup python app.py > out.log 2> err.log &

3. 追加日志(不覆盖)

nohup python app.py >> app.log 2>&1 &

4. 完全丢弃输出

nohup python app.py > /dev/null 2>&1 &

三、如果不写重定向会怎样?

nohup python app.py &
  • 默认生成 nohup.out
  • 如果当前目录不可写,会写到 $HOME/nohup.out

四、查看后台任务

jobs
# 或
ps -ef | grep app.py

五、进阶(推荐)

如果你需要日志轮转、自动重启,更推荐使用:

  • systemd
  • supervisor
  • screen / tmux

如果你愿意,我可以给你一个 systemd 或 supervisor 的日志配置示例

0