如果 Linux 机器长时间运行而不重新启动,那么临时文件、缓存文件和其他非永久文件(硬盘)会不会成为问题?Linux 如何处理这个问题,Windows 又如何处理这个问题?内存(RAM 和/或交换空间,如果适用的话)怎么样?例如,如果程序运行了很长时间,如何处理内存,以免发生溢出或内存泄漏?
答案1
在 Linux 下,程序在完成使用临时文件后,可以非常轻松地安排删除临时文件,即使程序崩溃也是如此,这从一开始就是 Linux 的一部分(甚至在此之前:大多数(如果不是全部)类 Unix 系统中都存在处理临时文件的打开-删除-关闭模式)。相比之下,Windows 对应项(FILE_FLAG_DELETE_ON_CLOSE
)是在 NT 系列中引入的,因此在取消对 Win9x 操作系统的支持之前,它并不实用。
避免内存泄漏只需仔细编程即可。