Freigabe von Speicherplatz ohne Beendigung eines Prozesses
Wenn Sie die Blöcke zurückfordern möchten, die einer aktiven Datei zugeordnet sind, ohne den Prozess zu beenden, müssen Sie die Ausgabe eines anderen Befehls in die Datei umleiten. Die Datenumleitung schneidet die Datei ab und gibt die belegten Speicherblöcke frei.
Wenn die aktive Datei aus dem Dateisystem entfernt wird, bleiben die der Datei zugeordneten Blöcke so lange zugeordnet, bis die letzte offene Referenz entfernt wird, indem der Prozess die Datei schließt oder der Prozess, der die Datei geöffnet hat, beendet wird. Wenn ein "Ausreißerprozess" in eine Datei schreibt und die Datei entfernt wird, werden die der Datei zugeordneten Blöcke erst dann freigegeben, wenn der Prozess beendet wird.
$ ls -l
total 1248
-rwxrwxr-x 1 web staff 1274770 Jul 20 11:19 datafile
$ date > datafile
$ ls -l
total 4
-rwxrwxr-x 1 web staff 29 Jul 20 11:20 datafile$ ls -l
total 8
-rxrwxr-x 1 web staff 1278866 Jul 20 11:21 datefileDie Größe der Datei datafile gibt an, wie viel Daten der Ausreißerprozess angefügt hat, aber die Anzahl der zugeordneten Blöcke ist gering. Die Datei datafile enthält jetzt eine Lücke. Dateilücken sind Bereiche der Datei, denen keine Plattenblöcke zugeordnet sind.