2011-12-14 22 views
6
  1. Hoy noté que el archivo dead.letter se crea en mi directorio raíz en una de las instancias EC2.
  2. Después de algunas consultas, llegué a saber que esto se crea debido a alguna funcionalidad de correo electrónico incompleta o interrumpida.
  3. Tiene un tamaño de 6 GiB y no dejó espacio libre en el directorio raíz.
  4. He eliminado el archivo, pero mi directorio raíz muestra que no hay espacio libre disponible.

¿Alguna idea de cómo eliminar este archivo y liberar el espacio raíz?Cómo eliminar el archivo "dead.letter" que no dejó espacio libre en el directorio raíz

+0

probablemente deberías preguntar esto en serverfault.com en lugar de stackoverflow – Gryphius

Respuesta

7

Si lo ha eliminado y aún no se libera el espacio, significa que un proceso tiene un identificador de archivo abierto en él.

tratar de encontrar el PID del proceso utilizando, por ejemplo:

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 

luego matar a ella/ellos.

+0

Muchas gracias amigo. – samarth

1

Si la secuencia de comandos anterior no funciona, uno solo puede pensar en los procesos que pueden tener el control para dichos archivos que ocupan espacio en el directorio raíz o de inicio.

Kill dichos procesos y el espacio de disco se liberará

Puede utilizar (ps -ef | grep process_name) para averiguar el identificador de proceso.

+1

También puede usar 'pgrep process_name' – fge

2

¿Conocen a lsof (http://linux.die.net/man/8/lsof)?

En este caso:

sudo lsof /root/dead.letter 

Esto muestra información sobre el proceso de tener el archivo abierto. Aún tienes que matar ese proceso.

Cuestiones relacionadas