2011-12-14 4 views
6
  1. Dzisiaj zauważyłem, że plik dead.letter jest tworzony w moim katalogu głównym na jednej z instancji EC2.
  2. Po pewnym sprawdzeniu dowiedziałem się, że zostało to utworzone z powodu niekompletnej lub zakończonej funkcji poczty e-mail.
  3. Ma rozmiar 6 GiB i nie pozostawia wolnego miejsca w katalogu głównym.
  4. Usunąłem plik, ale mój katalog główny nie pokazuje wolnego miejsca.

Każdy pomysł jak usunąć ten plik i zwolnić przestrzeń root?Jak usunąć "dead.letter" Plik, który nie pozostawił wolnego miejsca w katalogu głównym

+0

prawdopodobnie powinieneś zapytać o to na serverfault.com zamiast stackoverflow – Gryphius

Odpowiedz

7

Jeśli zostałeś usunięty, a miejsce wciąż nie zostało zwolnione, oznacza to, że proces ma otwarty uchwyt pliku.

spróbować znaleźć PID procesu stosując, na przykład:

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 

Potem zabije go/je.

+0

Dziękuję bardzo koleś. – samarth

1

Jeśli powyższy skrypt nie działa, można po prostu myśleć o procesach, które mogą mieć uchwyt do takich plików zajmujących przestrzeń w katalogu głównym lub domowym.

Zabij takie procesy i miejsca na dysku zostanie zwolniona

(ps -ef | grep process_name) można użyć, aby dowiedzieć się identyfikator procesu.

+1

Możesz także użyć 'pgrep nazwa_procesu' – fge

2

Znacie Państwo o lsof (http://linux.die.net/man/8/lsof)?

W tym przypadku:

sudo lsof /root/dead.letter 

ten wypisuje informacji na temat procesu mającego otwarty plik. Nadal musisz zabić ten proces.

Powiązane problemy