PeterPawn
IPPF-Urgestein
- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,348
- Punkte für Reaktionen
- 1,782
- Punkte
- 113
Löst zwar Dein Problem nicht, aber sollte beim Umgang mit /proc beachtet werden:
Da ist ein Editieren in aller Regel (ganz wenige Ausnahmen) weder möglich noch sinnvoll.
Es handelt sich eben gerade nicht um "richtige Dateien", dahinter verbirgt sich nur entsprechender Code, der aus einem aktuellen Zustand eine Anzeige generiert (bei lesendem Zugriff) und/oder Einstellungen ändert (bei schreibendem Zugriff). Die Pseudo-Datei "control" des AVM-PA ist dabei nur für schreibenden Zugriff ausgelegt, bei Lesezugriff kommt schlicht "EOF" bzw. ein Fehler.
Mit etwas Pech kann ein Versuch des Editierens im proc-FS sogar zu kleineren (und größeren) Katastrophen führen, weil in den allermeisten Fällen der betreffende Code keine Behandlung von Zeilenumbrüchen beherrscht (max. noch das Abschneiden (Trimmen) am Zeilenende) und somit jeder Schreibzugriff des Editors als "Block" behandelt würde. Wenn der Editor dann nicht seinerseits Zeile für Zeile schreibt, ist das Problem im wahrsten Sinne des Wortes "vorprogrammiert".
Besonders beim Zugriff auf das Environment einer FRITZ!Box (proc/sys/urlader/environment) kann man nicht genug vor dem Einsatz eines Editors warnen. Es gibt zwar Ausnahmen und auch Editoren, die das schön zeilenweise speichern würden, aber erstens entstehen dabei vollkommen unnötige Schreibzugriffe und zweitens sind die möglichen Ausnahmen so speziell, daß man mit der grundsätzlichen Haltung "Finger weg von Editoren, wenn es um das proc-Filesystem geht." weitaus besser fährt.
Zu Deiner "Suche" kann man eigentlich nur noch feststellen, daß jeder gestartete Prozess das "proc"-Dateisystem "erbt" und es somit kein Wunder ist, wenn für jeden aktiven Prozess in Deiner Box auch im proc-FS unter dessen PID (der "process tree" wird eben auch als Pseudo-Verzeichnisse unterhalb von /proc eingebunden) eine Referenz gefunden wird.
Wenn Du ein simples "ls -la /proc/net/avm_pa" machst, siehst Du diese Referenzen genau für den Shell-Prozess, in dem Du dieses Kommando ausführst. Da es sich nicht um eine "echte" Datei handelt, sondern immer um einen Snapshot zum Zeitpunkt des Zugriffs, "sehen" auch alle Prozesse immer denselben Inhalt in diesen Pseudo-Dateien, egal über welchen Pfad zugegriffen wird (es sind identische Inode-Nummern für alle Prozesse).
Das proc-Filesystem ist nur ein Pseudo-Dateisystem.Editiere ich die Datei mit [...] so ist die Datei leer.
Da ist ein Editieren in aller Regel (ganz wenige Ausnahmen) weder möglich noch sinnvoll.
Es handelt sich eben gerade nicht um "richtige Dateien", dahinter verbirgt sich nur entsprechender Code, der aus einem aktuellen Zustand eine Anzeige generiert (bei lesendem Zugriff) und/oder Einstellungen ändert (bei schreibendem Zugriff). Die Pseudo-Datei "control" des AVM-PA ist dabei nur für schreibenden Zugriff ausgelegt, bei Lesezugriff kommt schlicht "EOF" bzw. ein Fehler.
Mit etwas Pech kann ein Versuch des Editierens im proc-FS sogar zu kleineren (und größeren) Katastrophen führen, weil in den allermeisten Fällen der betreffende Code keine Behandlung von Zeilenumbrüchen beherrscht (max. noch das Abschneiden (Trimmen) am Zeilenende) und somit jeder Schreibzugriff des Editors als "Block" behandelt würde. Wenn der Editor dann nicht seinerseits Zeile für Zeile schreibt, ist das Problem im wahrsten Sinne des Wortes "vorprogrammiert".
Besonders beim Zugriff auf das Environment einer FRITZ!Box (proc/sys/urlader/environment) kann man nicht genug vor dem Einsatz eines Editors warnen. Es gibt zwar Ausnahmen und auch Editoren, die das schön zeilenweise speichern würden, aber erstens entstehen dabei vollkommen unnötige Schreibzugriffe und zweitens sind die möglichen Ausnahmen so speziell, daß man mit der grundsätzlichen Haltung "Finger weg von Editoren, wenn es um das proc-Filesystem geht." weitaus besser fährt.
Zu Deiner "Suche" kann man eigentlich nur noch feststellen, daß jeder gestartete Prozess das "proc"-Dateisystem "erbt" und es somit kein Wunder ist, wenn für jeden aktiven Prozess in Deiner Box auch im proc-FS unter dessen PID (der "process tree" wird eben auch als Pseudo-Verzeichnisse unterhalb von /proc eingebunden) eine Referenz gefunden wird.
Wenn Du ein simples "ls -la /proc/net/avm_pa" machst, siehst Du diese Referenzen genau für den Shell-Prozess, in dem Du dieses Kommando ausführst. Da es sich nicht um eine "echte" Datei handelt, sondern immer um einen Snapshot zum Zeitpunkt des Zugriffs, "sehen" auch alle Prozesse immer denselben Inhalt in diesen Pseudo-Dateien, egal über welchen Pfad zugegriffen wird (es sind identische Inode-Nummern für alle Prozesse).