Zuletzt aktualisiert am 14. Januar 2023.
Das proc-Filesystem ist ein virtuelles Filesystem auf allen unixoiden Betriebssystemen (wie z.B. Linux). Es ist nicht persistent und enthält in Unterverzeichnissen und Files sämtliche Informationen zu aktuell auf dem System laufenden Prozessen.
Was ist das /proc-Verzeichnis bzw. Dateisystem? Das proc-Filesystem ist ein virtuelles Filesystem, das in Files und Verzeichnissen alle aktuellen Prozesse eines Unix-Systems repräsentiert. Es ist also ein Interface, dass über die Konsole durch die Struktur eines Filesystems Zugriff auf Kerneldaten ermöglicht. In Unterverzeichnissen, die als Namen die jeweilige ProzessID haben, finden sich sämtliche Informationen über den jeweiligen Prozess. Zusätzlich werden Kernelprozesse in Form von Files oder Verzeichnissen mit jeweiligem Namen repräsentiert. Das Verzeichnis liegt im RAM und ist nicht persistent, es wird bei jedem Systemstart neu erstellt und gemounted. Die Dateien können über die Konsole gelesen werden, teilweise sogar beschrieben werden.
Was befindet sich im /proc-Verzeichnis?
Im /proc-Verzeichnis befinden sich verschiedene Files und Unterverzeichnisse.
User-Prozesse
User-Prozesse sind am Owner des Verzeichnisses zu erkennen. In der Regel repräsentieren alle Verzeichnisse, die mit einer Prouzess-ID benannt sind, User-Prozesse.
Mittels ls -la
im Verzeichnis /proc lassen sich die Owner der Unterverzeichnisse und damit die User, unter denen die Prozesse laufen, anzeigen.
Hinweis: Wie man schön an der 5. Spalte von rechts sieht, haben alle pseudo-directories im /proc-Verzeichnis eine Größe von “0”. Daran kann man erkennen, dass sie keinen Speicherplatz auf dem Datenträger belegen, sondern komplett im Memory (Arbeitsspeicher/RAM) liegen.
Kernel-Prozesse
Dateien/Verzeichnisse, die Namen haben, repräsentieren in der Regel Kernel-Prozesse. Nicht jeder Prozess existiert dabei auf jedem Linux-System, teilweise sind diese auch unterschiedlich benannt.
So findet man im /proc-Verzeichnis u.A. die folgenden Files/Unterverzeichnisse:
Name des Files/Verzeichnisses | File/Verzeichnis? | Bedeutung |
---|---|---|
acpi | directory | |
buddyinfo | file | |
bus | directory | |
cgroups | file | |
cmdline | file | |
consoles | file | |
cpuinfo | file | |
crypto | file | |
devices | file | |
diskstats | file | |
dma | file | |
driver | directory | |
execdomains | file | |
fb | file | |
filesystems | file | |
flashcache | directory | |
fs | directory | |
interrupts | file | |
iomem | file | |
ioports | file | |
irq | directory | |
kallsyms | file | |
kcore | file | |
keys | file | |
key-users | file | |
kmsg | file | |
kpagecgroup | file | |
kpagecount | file | |
kpageflags | file | |
loadavg | file | |
locks | file | |
mdstat | file | |
meminfo | file | |
misc | file | |
modules | file | |
mtrr | file | |
pagetypeinfo | file | |
partitions | file | |
sched_debug | file | |
schedstats | file | |
scsi | directory | |
slabinfo | file | |
softirqs | file | |
stat | file | |
swaps | file | |
synobios | directory | |
syno_cpu_arch | file | |
syno_loadavg | file | |
syno_platform | file | |
sys | directory | |
sysrq-trigger | file | |
sysvipc | directory | |
timer_list | file | |
tty | directory | |
uptime | file | |
version | file | |
vmallocinfo | file | |
vmstat | file | |
workstat | directory | |
zoneinfo | file |
Welche Infos finde ich im Unterverzeichnis zu den einzelnen Prozessen?
Die Verzeichnishierarchie sieht im /proc-Verzeichnis wie folgt aus:
/proc/[PID]/Unterverzeichnisse
[PID] steht für die jeweilige Prozess-id.
Folgende Unterverzeichnisse/Files sind in der Regel vorhanden:
Name des Verzeichnisses/Files | File/Verzeichnis | Bedeutung |
---|---|---|
attr | directory | |
auxv | file | |
cgroup | file | |
clear_refs | file | |
cmdline | file | |
comm | file | |
coredump_filter | file | |
cwd | link | |
environ | file | |
exe | link | |
fd | directory | Enthält die File-Deskriptoren (also die Verweise auf geöffnete Files) des jeweiligen Prozesses. |
fdinfo | directory | |
io | file | |
limits | file | |
map_files | directory | |
maps | file | |
mem | file | |
mountinfo | file | |
mounts | file | |
mountstats | file | |
net | directory | |
ns | directory | |
oom_adj | file | |
oom_score | file | |
oom_score_adj | file | |
pagemap | file | |
personality | file | |
root | link | |
sched | file | |
schedstat | file | |
smaps | file | |
stack | file | |
stat | file | |
statm | file | |
status | file | |
syscall | file | |
task | directory | |
wchan | file |
Weitere Ressourcen
Man-Page
Weitere Erklärungen findest du wie immer auf der entsprechenden man-Page:
man proc
Auf der Man-Page sind auch noch einmal alle Unterverzeichnisse eines Prozesses erklärt.
Das proc-Filesystem im Video erklärt
Quellen
- https://www.linux-praxis.de/das-proc-dateisystem
- https://www.linux-praxis.de/das-proc-dateisystem
- u.a.
Schreibe eine Antwort