温馨提示×

centos nohup日志怎样清空

小樊
49
2026-09-09 05:25:40
栏目: 智能运维

在 CentOS 中,如果你用 nohup 启动程序(比如 nohup xxx > nohup.out 2>&1 &),日志通常会写入 nohup.out。清空日志但不中断程序有几种常见做法:


✅ 方法一:直接清空文件(推荐,不影响进程)

> nohup.out

或

: > nohup.out

或

truncate -s 0 nohup.out

✅ 程序仍在运行,继续往文件写日志
✅ 文件 inode 不变,最安全


✅ 方法二:使用 cat /dev/null

cat /dev/null > nohup.out

效果同方法一,只是写法不同。


❌ 不推荐的方法

rm nohup.out

⚠️ 如果你直接 rm,进程仍然持有文件句柄,磁盘空间不会释放,新日志也不会再生成(除非程序重新打开文件)。


✅ 如果你用的是 systemd(不是 nohup)

如果是 systemctl 启动的服务:

sudo journalctl --vacuum-size=100M
# 或
sudo truncate -s 0 /var/log/xxx.log

✅ 小建议(避免 nohup.out 无限增长)

用 logrotate 或改成按时间/大小切分日志:

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

再配合 logrotate。


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

  • 日志文件名
  • 程序是否持续写日志
  • 是否是 Java / Python / Node 等

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

0 踩