[quote=sid burn,26.05.2007, 01:04]Hmm, du liest in deinem Modul die Ausgabe von 'df' ?
Gibt es da keine bessere Möglichkeit an die Daten zu kommen?
z.B. über /proc oder /sys ?[/quote]
Japp korrekt. Ich lese alle Statistiken aus /proc - so machen
es ja auch alle gängigen Befehle wie zum Beispiel ps, sar,
iostat, vmstat etc., aber Plattenbelegung ist das Einzige,
was man dort nicht finden kann. Man kann bzgl Platten nur
Statistiken für Schreib- und Lesezugriffe auswerten.
Warum das so ist... dafür gibt es einige Gründe... ein Grund
ist zum Beispiel, das es zuviel arbeit für den Kernel wäre,
dauernd die aktuelle Größe jeder Platte zu kontrollieren und
für /proc bereitzustellen. Denk dir einfach mal zum Beispiel
SAN-Space oder anderweitiges Sharing, wo mehrere Systeme
auf die gleichen Platten schreiben. Du fragst Server A nach
der Plattenbelegung und Server B schreibt und löscht fleißig
vom Filesystem... wie soll Server A das mitbekommen und
seine proc-Daten aktualisieren? Pollen? Ne, das wäre echt
zuviel. Die Befehle "df" und "du" lesen immer den aktuellen
Stand der Platten aus.
Hattest du zum Beispiel noch nie das Phenomän, dass der
Befehl df hängt, wenn ein globales Filesystem Probleme macht?
Oder wenn der Samba oder NFS-Dienst versagt? Dann muss
man oftmals den Befehl abbrechen...
Es gibt noch weitere Gründe, aber die findest du unter Mr.
Google :)
Ich könnte also irgendwas in C schreiben, aber wofür? df reicht
mir da vollkommen aus.\n\n
<!--EDIT|opi|1180135948-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.