2016-09-06 11 views
3

Juliaには、一時ファイルとディレクトリを作成するためのnumber of methodsが含まれています。一時ファイル/ディレクトリを作成すると、いつ削除されますか?

実際に実際のファイル(JLD/HDF5、OpenStack Swift)で作業したいライブラリでは、かなり重いものを使用しています(と/dev/shm)。

名前へのポインタのファイナライザが呼び出されたときに削除されると仮定していました。 しかし、ジュリアを出た後、彼らはまだそこにいたようだった。

Linuxで削除しますか?

答えて

5

アプリがそれ以降にクリーンアップしなかった場合、OSはファイルを最終的に削除します。一時ファイルを削除すると、システム設定によって異なります。たとえば、起動時や夜間(cronジョブ経由)や別の方法で発生する可能性があります。

は、たとえば、この回答を参照してください:彼らはmktempの行うブロックバージョンとして、スコープの外に出るに基づいて、削除されなかったことを、あなたの驚き与えHow is the /tmp directory cleaned up?あなたは可能性が探しているものを

3

、 。 非常にdocumentation you linkedです。

mktempを(::関数F [、親= TEMPDIR()])

はmktempの(親)の結果に関数fを適用し、完了時に一時ファイルを削除します。

mktempdir(::関数F [、親= TEMPDIR()])

はmktempdir(親)の結果に関数fを適用し、完了時に一時ディレクトリを削除します。

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. 
:あなたは次のように使用することができます

関連する問題