在 CentOS(及其他 Linux 系统)中,nohup 日志占空间通常不是 nohup 本身的问题,而是使用方式 + 程序输出行为共同导致的。下面分点说明原因和解决办法。
当你执行:
nohup command &
系统默认会把:
写入当前目录的:
nohup.out
⚠️ 如果这个程序:
nohup.out 就会一直变大
很多服务或脚本会:
例如:
2026-01-21 10:00:01 INFO ...
2026-01-21 10:00:02 INFO ...
...
时间一长,几个 GB 很正常。
nohup.out 不会自动切割,不像:
/var/log/messages所以:
一直写 → 一直涨 → 占满磁盘
常见情况:
这会导致:
如果你多次执行:
nohup command &
nohup command &
多个进程同时写 nohup.out,日志会:
du -sh nohup.out
或查找大文件:
find / -name nohup.out -size +100M
nohup command > /var/log/app.log 2>&1 &
示例 /etc/logrotate.d/app:
/var/log/app.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
nohup command > /dev/null 2>&1 &
systemctl start yourapp
journalctl -u yourapp
日志由 systemd 管理,自动轮转。
: > nohup.out
或
truncate -s 0 nohup.out
nohup 日志占空间,不是 nohup 的锅,而是“程序一直写 + 不轮转 + 默认文件”导致的。
如果你愿意,可以把你的:
发出来,我可以帮你给出最合适的日志方案。