温馨提示×

如何清centos nohup日志

小樊
37
2026-09-27 09:06:04
栏目: 智能运维

在 CentOS 上,使用 nohup 运行程序时,默认会把输出写入 nohup.out(一般在当前目录,或你重定向到的日志文件)。清理这类日志常用下面几种方式:


一、直接清空 nohup.out(推荐,不影响进程)

1️⃣ 使用 > 重定向清空

> nohup.out

或

cat /dev/null > nohup.out

✅ 优点:

  • 不会中断正在运行的程序
  • 文件还存在,程序继续写

二、如果日志被重定向到别的文件

比如你启动时是:

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

清理方式:

> app.log

三、删除 nohup.out(不推荐)

rm -f nohup.out

⚠️ 风险:

  • 如果程序还在运行,可能会继续写已删除的文件(磁盘不释放)
  • 需要用 lsof | grep deleted 查看

一般不建议直接删。


四、自动清理(日志轮转)

方法 1:用 logrotate(生产推荐)

示例 /etc/logrotate.d/myapp:

/root/nohup.out {
    size 100M
    rotate 5
    copytruncate
    missingok
    notifempty
}

copytruncate 很关键,不会杀进程。


方法 2:定时任务清空

crontab -e
0 0 * * * > /root/nohup.out

五、启动时就避免日志爆炸(推荐)

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

或只保留错误:

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

总结

✅ 最安全:> nohup.out
✅ 生产环境:logrotate + copytruncate
❌ 不建议:直接 rm

如果你愿意,可以把你的 启动命令 发出来,我可以帮你写最合适的清理方案。

0 踩