簡體   English   中英

當我創建臨時文件/目錄時,何時刪除它?

[英]When I create a Temporary File/Directory, when will it be removed?

Julia包含許多制作臨時文件和目錄的方法。

我正在大量使用它們(和/dev/shm ),使用真正想要使用實際文件的庫(JLD / HDF5和OpenStack Swift)進行推理。

我曾經假設當他們指向那里的指針的終結者被調用時,他們會被刪除。 但是在退出朱莉婭之后,似乎他們仍然在那里。

linux會刪除嗎?

如果應用程序自身沒有清理,操作系統最終會刪除文件。 它取決於刪除臨時文件時的系統設置。 例如,它可以在啟動或夜間(通過cron作業)或其他方式發生。

請參閱此答案,例如: / tmp目錄是如何清理的?

你可能正在尋找的東西,基於超出范圍你的意外,他們沒有被刪除,作為mktemp阻止版本。 您鏈接的文檔中

mktemp (f :: Function [,parent = tempdir()])

將函數f應用於mktemp(parent)的結果,並在完成時刪除臨時文件。

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.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM