温馨提示×

centos nohup日志如何输出

小樊
38
2026-08-04 09:40:49
栏目: 智能运维

CentOS 下使用 nohup 时,日志输出方式主要有以下几种,按常见场景说明:


一、默认输出(最常见)

nohup command &
  • 标准输出(stdout) → 自动写入当前目录下的 nohup.out
  • 标准错误(stderr) → 也会写入 nohup.out

如果当前目录不可写,会尝试写入 $HOME/nohup.out


二、指定日志文件(推荐)

1️⃣ 同时输出 stdout 和 stderr

nohup command > app.log 2>&1 &

含义:

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

✅ 最常用方式


2️⃣ 分别输出日志

nohup command > stdout.log 2> stderr.log &

三、不输出任何日志(丢弃)

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

适合不需要日志的场景


四、实时查看 nohup 日志

tail -f nohup.out

或指定文件:

tail -f app.log

五、nohup + Java / Python 示例

Java

nohup java -jar app.jar > app.log 2>&1 &

Python

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

六、查看后台任务

jobs

ps -ef | grep command

七、常见问题

❓ 为什么 nohup.out 不更新?

  • 程序可能使用了 缓冲输出
  • 可尝试:
nohup stdbuf -oL command > app.log 2>&1 &

❓ 终端关闭后进程还在吗?

nohup 的目的就是 防止 SIGHUP 终止进程


如果你愿意,可以把 具体命令(如 Java / Python / Shell)发出来,我可以帮你写一条最合适的 nohup 启动命令。

0