温馨提示×

如何用debian nohup记日志

小樊
50
2026-10-01 14:52:19
栏目: 智能运维

在 Debian(或其他 Linux 系统)里,用 nohup 运行程序并把日志记下来,通常有以下几种常见做法。


一、最基础用法(标准输出 + 标准错误)

nohup your_command > app.log 2>&1 &

说明:

  • nohup:忽略挂断信号,退出终端也不会停
  • > app.log:标准输出写入 app.log
  • 2>&1:标准错误也写入同一个日志
  • &:后台运行

示例:

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

查看日志:

tail -f app.log

二、分别记录 stdout 和 stderr(推荐排查问题)

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

三、追加日志(不覆盖)

默认 > 会覆盖,如果想追加:

nohup your_command >> app.log 2>&1 &

四、指定工作目录运行

cd /path/to/app
nohup ./start.sh > app.log 2>&1 &

五、结合 date 生成日志文件名(可选)

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

六、查看后台任务

jobs
ps aux | grep your_command

结束进程:

kill PID

七、更推荐的方式(进阶)

如果日志很重要,建议用:

  • systemd service(Debian 主流)
  • 或 screen / tmux
  • 或 supervisor

例如 systemd 会自动管日志(journalctl)。


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

  • 你运行的是什么程序(Python / Java / shell)
  • 是否需要开机自启

我可以给你更合适的方案。

0 踩