Datei loeschen, die noch unter Zugriff ist

01/02/2009 - 03:59 von Andreas Kohlbach | Report spam
Mir fàllt auf, dass wenn man eine Datei löscht, die noch unter Zugriff
ist (hier FTP Upload), dass sie zwar "verschwunden" ist (ls sie nicht
mehr aus gibt), aber der Platz noch als Belegt (z.B. von df, wo der
Platz, den die Datei einnimmt, fehlt) angezeigt wird.

Wàre es nicht intelligenter, das bei einem "rm datei" die Ausführung
verboten würde, wenn auf die Datei noch zugegriffen wird?
Andreas
Warum Linux? http://www.getgnulinux.org/ (Englisch)
 

Lesen sie die antworten

#1 Bernd Nawothnig
01/02/2009 - 05:01 | Warnen spam
On 2009-02-01, Andreas Kohlbach wrote:

Mir fàllt auf, dass wenn man eine Datei löscht, die noch unter
Zugriff ist (hier FTP Upload), dass sie zwar "verschwunden" ist (ls
sie nicht mehr aus gibt), aber der Platz noch als Belegt (z.B. von
df, wo der Platz, den die Datei einnimmt, fehlt) angezeigt wird.

Wàre es nicht intelligenter, das bei einem "rm datei" die Ausführung
verboten würde, wenn auf die Datei noch zugegriffen wird?



Ich finde diese Variante, dass man lediglich (harte) Links entfernen
kann, das eigentliche Löschen aber immer dem Betriebssystem-Kern
vorbehalten bleibt (nàmlich dann, wenn der letzte Link entfernt wurde
*und* kein Zugriff auf die Datei mehr stattfindet) erheblich
praktischer.

Was stört Dich denn an der Unix-Lösung? Mich stört unter jenem bunten
Fenster-BS z.B. viel mehr, dass man Datei xyz nicht löschen (auch
nicht verschieben) kann, weil gerade in Benutzung. Was soll denn daran
intelligent sein? Da zeigt der Unix-Weg doch sehr viel mehr
Hintergedanken - man muss nur die Logik dahinter verstanden haben:

* Der Dateiname ist lediglich ein harter Link, von dem es mehrere
geben kann.

* rm löscht keine Datei physikalisch, es entfernt nur einen (harten)
Link (und das geht eben immer).

* Ist der letzte harte Link entfernt und existieren keine Zugriffe
mehr, löscht der BS-Kern (und nur der BS-Kern!) die Datei.

Da der Dateiname nur ein Link ist, folgt daraus z.B. auch, dass eine
geöffnete Datei beliebig umbenannt oder verschoben werden kann -
natürlich nur innerhalb desselben Dateisystems.

Sowas ist doch nun eigentlich exakt das, was man sich wünscht, oder
siehst Du das anders?




Bernd

No time toulouse

Ähnliche fragen