84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
最近清理磁盘文件时,删除了一个nohup.out文件,发现其占用的磁盘空间并没有被释放。最终找到关联的进程,杀掉进程后,磁盘空间才被释放。
nohup.out
使用ls -al查看/proc下的文件描述符(fd),发现它们是软连接(lr-x——),为什么删除掉文件后,磁盘空间没有被释放呢?
ls -al
/proc
关联文章:记一次磁盘清理的过程
光阴似箭催人老,日月如移越少年。
因为在类 UNIX 系统中,当一个文件的 link count 减为零并且所有已打开的文件描述符全部关闭、所有 mmap 的部分全部 unmap 时,系统才会真正将该文件占用的存储空间标记为未使用。这和 Windows 使用的策略是不一样的。
PS: 这个属于类 UNIX 系统基本常识了。提问者要多加了解和学习啊。 PPS: 日志还是直接交给 syslog 吧,然后用 logrotate 轮转,就不用自己处理各种麻烦事了。
因为在类 UNIX 系统中,当一个文件的 link count 减为零并且所有已打开的文件描述符全部关闭、所有 mmap 的部分全部 unmap 时,系统才会真正将该文件占用的存储空间标记为未使用。这和 Windows 使用的策略是不一样的。
PS: 这个属于类 UNIX 系统基本常识了。提问者要多加了解和学习啊。
PPS: 日志还是直接交给 syslog 吧,然后用 logrotate 轮转,就不用自己处理各种麻烦事了。