【问题标题】:Delete an unfinished file删除未完成的文件
【发布时间】:2016-08-10 05:40:07
【问题描述】:

我正在通过 python 脚本使用f.write(row) 命令在服务器上编写一个巨大的文件 output.txt(大约 10GB),但由于过程太长,我决定使用

中断程序

kill -9 pid

问题是当我用命令检查时,这个空间还在服务器上使用

df -h

如何清空试图写入文件的缓冲区所占用的磁盘?

当我终止脚本时,文件 output.txt 为空(0 字节),但我仍然使用

将其删除

rm output.txt

但是磁盘中的空间并没有变得空闲,我还有 10 GB 的空间被浪费了..

【问题讨论】:

  • 您可以使用垃圾收集器来释放内存。请参阅此链接:docs.python.org/2/library/gc.html
  • 它可能在/tmp/文件夹中,你可以尝试重启机器

标签: python bash unix kill-process diskspace


【解决方案1】:

如果您删除在某些进程中打开的文件,它会被标记为已删除,但内容仍保留在磁盘上,以便所有进程仍然可以读取它。一旦所有进程关闭相应的描述符(或简单地完成),空间就会被回收。

【讨论】:

    【解决方案2】:

    检查进程以查看它是否仍在运行,如果是,只需在终端上获取 id 和 wright:

    kill proccess_id
    

    【讨论】:

      猜你喜欢
      • 2010-09-08
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多