2011-11-12 38 views
2

在Linux上,可以使用以下技術在退出進程時自動刪除文件: 該進程使用open或creat創建文件,然後立即調用unlink。該文件不會被刪除,但是,因爲它仍然是打開的。只有在進程關閉文件或終止時(這會導致內核關閉其所有打開的文件),該文件纔會被刪除。在Linux/Windows上自動刪除臨時文件

在Windows上有相同的結果嗎?

回答

2

您可以傳遞給CreateFile標記FILE_FLAG_DELETE_ON_CLOSE

+0

如果進程將被終止/崩潰,它會工作嗎? –

+1

是的。 Windows在進程崩潰時關閉打開的文件。因此文件系統將刪除文件(當文件的打開計數爲零時)。 – Benjamin