一千萬個為什麽

搜索

我們是否應該手動刪除/ tmp的內容?

我的印象是/tmp 中的“舊”文件會被定期刪除。但是,在我看來,/tmp 只會在它想要的時候增長,並且不會刪除任何內容。有些人說最好不要單獨留下/tmp ,只有在磁盤滿了才刪除它的內容。 我的問題是,/tmp 真的是為​​了不自理嗎?什麽是最佳做法?

最佳答案

回答問題:

Is /tmp supposed to be emptied automatically: Yes Are we supposed to delete Files in /tmp regularly and manually: No, your system will take care of them.

如果您可能問自己:

我可以出於任何原因(需要空間,想刪除痕跡等)從/tmp 中刪除文件:取決於,讀取

文件系統層次結構標準(FHS)狀態:

/tmp目錄必須可用於需要的程序   臨時文件。       程序不能假定/ tmp中的任何文件或目錄   保存在程序的調用之間。

/var/tmp/ has a similar purpose, but must not be deleted during reboot.

無法保證定期清理/tmp/或/var/tmp/。這可能取決於您的分發和設置,但大多數系統會不時進行一些清理。請參閱

評論麥克</代碼>。 如果您需要刪除/tmp 中的文件,請先查看該文件是否正在使用中。您可以通過以下方式輕松完成: lsof /tmp/filetodelete

如果您有權這樣做,這將顯示持有該文件句柄的進程,如進程名稱,PID和文件類型。要顯示所有進程,請添加 sudo 或以用戶 root 運行。 lsof +D /tmp

將顯示當前打開的/tmp 和下面的目錄( + D )中的所有文件。 當然你不應該刪除這些文件。 實際上,當您刪除仍然打開的文件時 - 如果您有權這樣做 - 它將從文件系統命名空間中無法訪問,但對於具有打開文件句柄的進程仍然存在。關閉該句柄後,該進程不再可以訪問該文件,如果沒有進程再打開該文件,則最終刪除該文件。一個進程不應該假設文件在後續的 open 調用之間存活,但程序員很邋and,而你永遠不會知道。出於這個原因,刪除某些程序仍在使用的文件並非聰明。

轉載註明原文: 我們是否應該手動刪除/ tmp的內容?