在 CentOS 上,使用 nohup 运行程序时,默认会把输出写入 nohup.out(一般在当前目录,或你重定向到的日志文件)。清理这类日志常用下面几种方式:
> 重定向清空> nohup.out
或
cat /dev/null > nohup.out
✅ 优点:
比如你启动时是:
nohup python app.py > app.log 2>&1 &
清理方式:
> app.log
rm -f nohup.out
⚠️ 风险:
lsof | grep deleted 查看一般不建议直接删。
logrotate(生产推荐)示例 /etc/logrotate.d/myapp:
/root/nohup.out {
size 100M
rotate 5
copytruncate
missingok
notifempty
}
copytruncate 很关键,不会杀进程。
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
如果你愿意,可以把你的 启动命令 发出来,我可以帮你写最合适的清理方案。