温馨提示×

如何后台运行nohup日志

小樊
42
2026-08-20 10:28:24
栏目: 编程语言

在 Linux 中,使用 nohup 后台运行程序并管理日志,常见用法如下:


一、基本用法(最常用)

nohup command > output.log 2>&1 &

说明

  • nohup:让程序在终端关闭后继续运行
  • command:你要运行的命令
  • > output.log:标准输出重定向到日志文件
  • 2>&1:标准错误也写入同一个日志文件
  • &:放到后台运行

推荐写法


二、示例

1️⃣ 后台运行 Python 脚本

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

2️⃣ 后台运行 Java 程序

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

3️⃣ 后台运行 Shell 脚本

nohup ./start.sh > start.log 2>&1 &

三、查看后台任务

jobs        # 当前 shell 的后台任务
ps -ef | grep app

四、查看实时日志

tail -f app.log

五、将日志按日期拆分(进阶)

nohup command >> app_$(date +%Y%m%d).log 2>&1 &

六、不记录日志(丢弃)

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

七、常见问题

❓ 为什么不用 nohup command &

默认会生成 nohup.out,容易占满磁盘,不推荐。

一定要手动指定日志文件


八、停止后台程序

ps -ef | grep command
kill PID

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

  • 运行的是什么程序(Python / Java / Shell)
  • 是否需要日志按天切割
  • 是否在服务器上长期运行

我可以给你一个更规范的生产级方案(比如配合 cronologsystemd)。

0