[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [NOVICE] Megastoet dokumenter?



Carsten Agger wrote:
Jørgen Heesche wrote:


Diverse filer, som systemet skriver ud i, vil altid blive oprettet igen.


Det er bare lidt underligt, med faste filer til stdout og stderr (også kaldet primært putput). Hvis man ønsker at se det output efter, at et program er kørt, skal man normalt selv dirigere det til en fil, det er langt mere overskueligt, end at lægge det hele i nogle "skjulte" filer.


Det er åbenbart almindeligt - i min egen /dev ligger f.eks.:


lrwxrwxrwx 1 root root 15 2005-05-21 14:30 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 2005-05-21 14:30 stdout -> /proc/self/fd/1
lrwxrwxrwx 1 root root 15 2005-05-21 14:30 stderr -> /proc/self/fd/2


I udgangspunktet er det formentlig bare systemets måde at mappe file descriptors til in/out-strømmene; hvilket vil sige, at "filerne" formentlig ikke eksister som sådan, men at Linux laver noget, som *ligner* en fil for at kunne manipulere den.

Noget lignende ser man for UNIX-sockets, der også "ligner" filer og viser sig ved ls, osv. (i al fald på Solaris).

De store stdout og stdin-filer har formentlig derfor snarere ligget i RAM/swap space end som rigtige filer på disken; MEN der er jo nok ingen tvivl om, at størrelsen viste, at noet var gået galt.

Måske en kernel-hacker out there kan illuminere os noget mere?

Ok, jeg kan nu se at f.eks stdout er et link til et special device.
Ved at følge linket med 'ls -l /dev/stdout' får  jeg:

ls -l /dev/stdout
lr-xr-xr-x    1 root     root    4 May 21 12:51 /dev/stdout -> fd/1
ls -l /dev/fd/1
lrwx------    1 jph      jph    64 May 21 13:37 /dev/fd/1 -> /dev/pts/2
ls -l /dev/pts/2
crw-------    1 jph      tty   136,   2 May 21 13:38 /dev/pts/2

Med 'ls -l /proc/self/fd' fås:
lrwx------    1 jph      jph        64 May 21 14:32 0 -> /dev/pts/4
lrwx------    1 jph      jph        64 May 21 14:32 1 -> /dev/pts/4
lrwx------    1 jph      jph        64 May 21 14:32 2 -> /dev/pts/4
lr-x------    1 jph      jph        64 May 21 14:32 3 -> /proc/7514/fd/

ls -l /dev/pts/4
crw-------    1 jph      tty      136,   4 May 21 14:40 /dev/pts/4

ls -l /proc/7514/fd
ls: /proc/7514/fd: No such file or directory

I Konqueror ses:

file:/proc/self/fd
Det er ikke muligt at bruge copy/paste til at vise indholdet af vinduet,
men man ser bl.a.
fd/1    1.2 KB Plain Text . . . . Link: /home/jph/.xsessions-errors

file:/dev
Her ses bl.a.:
stdout  1.2 KB Plain Text . . . . Link: fd/1
Dvs. det samme som i /proc/self/fd; det er da også imdholdet af
/home/jph/.xsessions-errors man ser ved åbning af /dev/stdout.

Det ser ud til at indholdet af .xsessions-errors er stdout fra Kde:
de to første linier er:

startkde: Starting up...
kbuildsycoca running...


Filen vokser lidt hver gang man starter et Kde-program, som f.eks komqueror, idet der tilføjes et par warnings: WARNING: KDE detected X Error: BadDrawable (invalid Pixmap or Window parameter)

Ved boot og dermed genstart af Kde bliver filen gendannet (overskrevet), så hvordan .xsessions-errors kan nå op på adskillige GB's er et godt spørgsmål.
Men hvis der er meget lang tid mellem boots, kan det selvfølgelig godt blive til noget. Hvis det er tilfældet synes jeg det er en fejl ved systemet: .xsessions-errors burde medtages i logrotate.


--
Med venlig hilsen

Jørgen Heesche
mailto:sslug@sslug




 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 21:21 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *