2016-04-18 13 views
0

Ich war eine riesige Datei output.txt Schreiben (etwa 10GB) auf einem Server thorugh ein Python-Skript, das f.write(row) Befehl aber, weil der Prozess zu lange war habe ich beschlossen, um das Programm zu unterbrechen, miteine unfertige Datei löschen

kill -9 pid

Das Problem ist, dass dieser Raum immer noch auf dem Server verwendet wird, wenn ich mit dem Befehl überprüfen

df -h

Wie kann ich die Scheibe von diesem Puffer t belegte leer Hat versucht, die Datei zu schreiben?

die Datei output.txt war leer (0 Byte), wenn ich das Drehbuch getötet, aber ich gelöscht noch sowieso es

mit

rm output.txt

aber den Raum in den freien Platten nicht werden, ich noch 10 GB verschwendet ..

+0

Sie können die Garbage Collector verwenden, um Speicher freizugeben. Bitte sehen Sie diesen Link: docs.python.org/2/library/gc.html – AceLearn

+0

Es könnte in/tmp/Ordner sein, könnten Sie versuchen, den Rechner neu zu starten – lapinkoira

Antwort

0

Wenn Sie eine Datei löschen, die in einigen Prozessen geöffnet ist, wird es als gelöscht markiert, aber der Inhalt bleibt auf der Festplatte, so dass alle Prozesse noch lesen können. Sobald alle Prozesse die entsprechenden Deskriptoren schließen (oder einfach fertigstellen), wird der Speicherplatz zurückgewonnen.

0

Prüfung die proccesses zu sehen, ob es noch läuft, wenn ja, nur die ID und wright am Terminal erhalten:

kill proccess_id