如何删除“dead.letter”在根目录中没有空闲空间的文件

  1. 今天我注意到dead.letter文件是在其中一个EC2实例的根目录中创build的。
  2. 经过一番查看后,我才知道这是由于一些不完整的或终止的电子邮件function而创build的。
  3. 它具有6个GiB的大小,并且在根目录中没有可用空间。
  4. 我已经删除了该文件,但我的根目录显示没有可用空间。

任何想法如何删除这个文件并释放根空间?

如果你已经删除了它,而且空间还没有被释放,那么这意味着一个进程打开了一个文件句柄。

尝试并找到使用的进程的PID,例如:

for process in /proc/[0-9]*; do for fd in $process/fd/*; do file=$(readlink -f $fd) if [ "$file" = "/root/dead.letter" ]; then echo $process fi done done 

然后杀了他/他们。

你们知道lsofhttp://linux.die.net/man/8/lsof )?

在这种情况下:

 sudo lsof /root/dead.letter 

这会打印出有关打开文件的过程的信息。 你仍然必须杀死这个过程。

如果上面的脚本不起作用,那么可以想象一下这些文件占用了根目录或主目录中的空间的过程。

杀死这样的进程和磁盘空间将被释放

您可以使用(ps -ef | grep process_name)来查找进程ID。