Home · Kontakt · Impressum
contents index previous up next
Next: 20.2 YaST Up: 20.1 Dateien und Verzeichnisse Previous: 20.1.3 Login-Terminals für root:


20.1.4 Prozesse sind auch nur Dateien: /proc

Schon seit einigen Jahren gibt es ein Pseudo-Dateisystem unter dem Verzeichnis /proc. Es wird als Pseudo-Dateisystem bezeichnet, da es sich um ein virtuelles Dateisystem handelt, daß nur im Speicher existiert und kein Äquivalent auf einem Datenträger besitzt. Es enthält Informationen über die im Moment laufender Prozesse und andere Systeminformationen.

Für jeden laufenden Prozess wird ein Verzeichnis mit der PID als Namen angelegt, wie Sie im folgenden Ausschnitt der Dateiliste sehen können.

root@defiant:/proc # ls -l
insgesamt 2
dr-xr-xr-x    3 root     root            0 Jan 12 17:52 1
dr-xr-xr-x    3 tapico   users           0 Jan 12 18:00 1001
dr-xr-xr-x    3 tapico   users           0 Jan 12 18:00 1002
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 11
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 1226
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 13
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 2
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 3
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 324
dr-xr-xr-x    3 root     root            0 Jan 12 18:00 328
...

Im Verzeichnis selber befinden sich wiederum Dateien, die nun Informationen zu den Prozeß enthalten. Diese Dateien sind eigentlich nur Verknüpfungen zu Programmen, die diese Informationen zur Verfügung stellen. Schauen wir uns doch mal den init-Prozeß mit der PID 1 an.

root@defiant:/proc # cd 1
root@defiant:/proc/1 # ls -l
insgesamt 0
-r--r--r--    1 root     root            0 Jan 12 18:05 cmdline
lrwxrwxrwx    1 root     root            0 Jan 12 18:05 cwd -> /
-r--------    1 root     root            0 Jan 12 18:05 environ
lrwxrwxrwx    1 root     root            0 Jan 12 18:05 exe -> /sbin/init
dr-x------    2 root     root            0 Jan 12 18:05 fd
-r--r--r--    1 root     root            0 Jan 12 18:05 maps
-rw-------    1 root     root            0 Jan 12 18:05 mem
lrwxrwxrwx    1 root     root            0 Jan 12 18:05 root -> /
-r--r--r--    1 root     root            0 Jan 12 18:05 stat
-r--r--r--    1 root     root            0 Jan 12 18:05 statm
-r--r--r--    1 root     root            0 Jan 12 18:05 status
root@defiant:/proc/1 # head cmdline environ maps stat statm status
==> cmdline <==
init [5]
==> environ <==
HOME=/ TERM=linux BOOT_IMAGE=linux BOOT_FILE=/boot/vmlinuz
==> maps <==
08048000-080ad000 r-xp 00000000 03:04 9011       /sbin/init
080ad000-080b1000 rw-p 00064000 03:04 9011       /sbin/init
080b1000-080b7000 rwxp 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0

==> stat <==
1 (init) S 0 0 0 0 -1 4 59 42642 50 71867 0 468 1279 623 9 0 0 0 28 458752 39
4294967295 134512640 134924332 3221225216 3221223412 134581070 0 0 1467013372
680207875 3222540817 0 0 0 0

==> statm <==
42 39 34 35 0 4 5

==> status <==
Name:   init
State:  S (sleeping)
Pid:    1
PPid:   0
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 32
Groups:
VmSize:      448 kB

cmdline
Diese Datei enthält die komplette Kommandozeile für den Prozeß. Es sei denn er wurde ausgelagert oder er ist ein Zombie. In diesem Fall enthält die Datei nur das Null-Zeichen.

environ
Diese Datei enthält die Umgebungsvariablen für diesen Prozeß. Die Einträge werden durch das Null-Zeichen getrennt.

exe
Diese Link ist ein Wegweiser zu der für diesen Befehl ausgeführten Binärdatei.

fd
Dieses Verzeichnis enthält Links zu den Datei, die durch diesen Prozeß geöffnet worden sind.

map
Diese Datei enthält die für diesen Prozeß genutzten Speicherbereiche und die dafür gültigen Zugriffsrechte. Die möglichen Zugriffsrechte sind
r = lesen
w = schreiben
x = ausführen
s = gemeinsam genutzt (shared)
p = privat

stat
Diese Datei enthält die Statusinformationen des Prozesses. Der Befehl ps (12.8.1) benutzt diese Informationen. Die Informationen sind die PID, Dateiname der Programmdatei in Klammern, Status (z. B. R für Running), PPID, Prozeßgruppen-ID, Session ID, Terminal, Prozeßgruppen-ID des Prozesses, der gerade im Terminal läuft, Flags, 9 Zähler für Speicheroperationen, nice-Wert plus 15, Zeit zum nächsten Timeout, Zeit zum nächsten SIGALRM, Startzeit des Prozesses, Größe des virtuellen Speichers, Anzahl der Speicherseiten im Arbeitsspeicher u.s.w.

Weitere Informationen zu den Prozeßinformationen erhalten Sie über die Manualpages (man 5 proc).

Neben den Prozesse enthält das Verzeichnis /proc auch Dateien mit allgemeineren Informationen über das System. Die folgende gekürzte Liste zeigt eine Auswahl dieser Dateien und Verzeichnisse.

root@defiant:/proc # ls -ld [a-z]*
-r--r--r--    1 root     root            0 Jan 12 18:46 cmdline
-r--r--r--    1 root     root            0 Jan 12 18:46 cpuinfo
-r--r--r--    1 root     root            0 Jan 12 18:46 devices
-r--r--r--    1 root     root            0 Jan 12 18:46 dma
-r--r--r--    1 root     root            0 Jan 12 18:46 filesystems
-r--r--r--    1 root     root            0 Jan 12 16:49 interrupts
-r--r--r--    1 root     root            0 Jan 12 18:46 ioports
-r--------    1 root     root     67047424 Jan 12 18:46 kcore
-r--------    1 root     root            0 Jan 12 16:47 kmsg
-r--r--r--    1 root     root            0 Jan 12 18:46 ksyms
-r--r--r--    1 root     root            0 Jan 12 18:46 loadavg
-r--r--r--    1 root     root            0 Jan 12 18:46 meminfo
-r--r--r--    1 root     root            0 Jan 12 18:46 modules
-r--r--r--    1 root     root            0 Jan 12 18:46 mounts
dr-xr-xr-x    4 root     root            0 Jan 12 18:46 net
-r--r--r--    1 root     root            0 Jan 12 18:46 partitions
-r--r--r--    1 root     root            0 Jan 12 18:46 pci
dr-xr-xr-x    2 root     root            0 Jan 12 18:46 scsi
-r--r--r--    1 root     root            0 Jan 12 18:46 stat
-r--r--r--    1 root     root            0 Jan 12 18:46 swaps
-r--r--r--    1 root     root            0 Jan 12 18:46 uptime
-r--r--r--    1 root     root            0 Jan 12 18:46 version

cpuinfo
Informationen über die CPU und ihre Leistung

devices
Liste der wichtigsten Gerätetreiber

dma
Liste der verwendeten DMA-Kanäle

filesystems
Liste der bekannten Dateisysteme

interrupts
Liste der Interrupts und wie häufig sie aufgerufen worden sind.

ioports
Lister der bekannten und definierten IO-Schnittstellen

kcore
Gerädtedatei für den Zugang zum physikalischen Hauptspeicher

kmsg
Hier können Systemfehlermeldungen ausgelesen werden

ksyms
Liste der Kernelsymbole und ihrer Speicheradressen

loadavg
Durchschnittliche Belastung des Systems in den letzten Minuten

meminfo
Enthält Informationen über die aktuelle Speicherauslastung

modules
Liste der geladenen und aktuelle genutzten Module

mounts
Liste der eingehängten Dateisysteme und deren Mount-Points

net
Verzeichnis mit Informationen zur Netzwerkauslastung

partitions
Liste der vorhandenen Partitionen

pci
Liste der gefundenen PCI-Geräte

scsi
Verzeichnis mit Informationen über SCSI-Geräte

stat
Allgemeine Informationen über das System

swaps
Liste der Swap-Partitionen

uptime
Zeit in Sekunden seit Systemstart und die Leerlaufzeit seitdem

version
Aktuelle Version des Linux-Kernels


contents index previous up next
Next: 20.2 YaST Up: 20.1 Dateien und Verzeichnisse Previous: 20.1.3 Login-Terminals für root:
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang