温馨提示×

nohup日志如何输出

小樊
44
2026-08-31 07:51:37
栏目: 编程语言

nohup 命令在 Linux 中用于在后台运行程序,并默认将输出重定向到日志文件。以下是常见的用法和说明:


一、默认输出位置

nohup command &
  • 标准输出(stdout)标准错误(stderr) 默认会写入当前目录下的:
    nohup.out
    
  • 如果当前目录不可写,会写入:
    $HOME/nohup.out
    

二、手动指定日志输出文件

1️⃣ 只重定向标准输出

nohup command > app.log 2>&1 &

含义:

  • > app.log:stdout 写入 app.log
  • 2>&1:stderr 也合并到 stdout
  • &:后台运行

最常用方式


2️⃣ 分别输出 stdout 和 stderr

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

3️⃣ 不输出任何日志(丢弃)

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

三、追加日志而不是覆盖

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

四、实时查看 nohup 日志

tail -f app.log

tail -f nohup.out

五、查看后台任务

jobs

ps -ef | grep command

六、示例

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

七、注意事项

  • nohup 不会自动关闭程序,需要手动 kill
  • 日志文件会一直增长,建议配合 logrotate
  • 终端关闭后程序仍运行

如果你有具体场景(如 Java / Python / Shell 脚本 / Docker),我可以给你更精确的示例。

0