当我创build一个临时文件/目录时,它何时会被删除?

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.