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
r | = | lesen |
w | = | schreiben |
x | = | ausführen |
s | = | gemeinsam genutzt (shared) |
p | = | privat |
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