IMB*_*IMB 27 linux centos performance operating-systems temporary-files
我的印象是“旧”文件/tmp会被定期删除。但是,在我看来,它/tmp会随心所欲地增长,并且不会删除任何内容。有人说最好不要/tmp管它,只有在磁盘已满时才删除其内容。
我的问题是,/tmp真的是为了不照顾自己而设计的吗?最佳做法是什么?
tra*_*cki 29
回答问题:
/tmp应该被自动清空:是的/tmp定期手动删除文件:不,您的系统会处理它们。如果你问自己:
/tmp出于任何原因删除文件吗(需要空间,想要删除痕迹等):这取决于,请继续阅读。文件系统层次结构标准 (FHS)指出:
/tmp 目录必须可供需要临时文件的程序使用。
程序不得假定 /tmp 中的任何文件或目录在程序调用之间都保留了下来。
/var/tmp/有类似的目的,但不能在重启时删除。
它不保证该/tmp/或/var/tmp/定期进行清理。这可能取决于您的发行版和设置,尽管大多数系统会不时进行一些清理。见注释通过mike。
如果您需要删除/tmp 中的文件,请先查看该文件是否正在使用中。你可以很容易地做到这一点:
lsof /tmp/file_to_delete
Run Code Online (Sandbox Code Playgroud)
如果您有权这样做,这将显示持有该文件句柄的进程,例如进程名称、PID 和文件类型。要真正显示所有进程,请sudo以root用户身份添加或运行。
lsof +D /tmp
Run Code Online (Sandbox Code Playgroud)
将向您显示当前打开的/tmp( +D) 中的所有文件和目录。当然,您不应该删除这些文件。
事实上,当你删除一个仍然打开的文件时——如果你有这样做的权利——它变得无法从文件系统命名空间访问,但对于具有打开文件句柄的进程来说它仍然存在。关闭该句柄后,该进程将无法再访问该文件,如果没有进程再打开该文件,则最终将其删除。一个进程不应该假设文件在后续open调用之间存活,但程序员马虎,你永远不知道。出于这个原因,删除某些程序仍在使用的文件并不是那么聪明。
| 归档时间: |
|
| 查看次数: |
74330 次 |
| 最近记录: |