Julia包含了一些制作临时文件和目录的方法。
我正在大量使用它们(和/dev/shm
)来推断真正想用实际文件(JLD / HDF5和OpenStack Swift)工作的库。
我一直认为,当他们的指示名称的终结者被称为时,他们将被删除。 但是在离开茱莉亚之后,似乎他们仍然在那里。
请问linux会删除它们吗?
如果应用程序本身没有清理,操作系统将最终删除文件。 临时文件被删除时,取决于系统设置。 例如,它可以在启动或每晚(通过cron作业)或其他方式发生。
看到这个答案,例如: / tmp目录是如何清理的?
你可能要找的东西,给你惊喜的是,他们没有被删除,基于超出范围,如同块版本的mktemp
。 在你链接的文档中
mktemp (f :: Function [,parent = tempdir()])
将函数f应用到mktemp(父级)的结果,并在完成时删除临时文件。
mktempdir (f :: Function [,parent = tempdir()])
将函数f应用于mktempdir(parent)的结果,并在完成时删除临时目录。
你可以像这样使用:
mktempdir("/dev/shm") do tdir fname = joinpath(tdir, name) #Do some things with your new temp filename `fname` in your tempdir `tdir` end #the directory referenced by `tdir`, and `fname`, have now been deleted.