/tmp 里的文件什么时候会被删
以为 /tmp 重启就清空,结果放了三个月的文件还在。现代发行版用 systemd-tmpfiles-clean.timer 定期清理,规则在 /usr/lib/tmpfiles.d/tmp.conf:
q /tmp 1777 root root 10d
10d 表示十天没被访问就删。注意是访问时间(atime),不是修改时间,而很多文件系统挂载时用了 relatime,atime 更新不频繁,实际删除时间可能比预期晚。
要立刻清:systemd-tmpfiles --clean。要改策略:在 /etc/tmpfiles.d/ 放同名覆盖文件,不要改 /usr/lib 下的。
服务把 socket 或锁文件放 /tmp 是常见错误——清理定时器可不管你有没有在用。