Benutzer Diskussion:Thomaskarras
Was ist ein Prozess?
Ein Stück Programm-Code, das zur Ausführung in den Hauptspeicher geladen wurde, und im System durch Parameter wie Prozessnummer (PID), Elternprozessnummer (PPID), Besitzer, Priorität, Nice-Level, Status usw. gekennzeichnet ist.
Einige Parameter bringt das Kommando ps zum Vorschein:
ps -ef | head
UID PID PPID C STIME TTY TIME CMD root 1 0 0 May24 ? 00:00:03 init [3] root 2 1 0 May24 ? 00:00:02 [kflushd] root 3 1 0 May24 ? 00:00:00 [kupdate] root 4 1 0 May24 ? 00:00:00 [kpiod] root 5 1 0 May24 ? 00:00:11 [kswapd] root 6 1 0 May24 ? 00:00:00 [md_thread] bin 90 1 0 May24 ? 00:00:00 [portmap] root 98 1 0 May24 ? 00:00:06 /usr/sbin/scanlogd root 104 1 0 May24 ? 00:00:01 /usr/sbin/syslogd
Die PID (Prozessnummer) ist die eindeutige Kennzeichnung eines Prozesses während der Laufzeit des Systems, PPID ist die Prozessnummer seines Elternprozesses und UID (Nutzerkennung) der den Prozess startende Benutzer. Wichtig zu wissen ist, dass ein Prozess, dessen Elternprozess nicht mehr existiert, automatisch dem init-Prozess (PID=1) zugeordnet wird. Die Priorität (C) ist ein während der Laufzeit der Prozesses dynamisch bestimmter Wert, der für die Zuteilung von CPU-Zeit verwendet wird. Des Weiteren sehen wir bei der Ausgabe von ps die Startzeit STIME, das mit dem Prozess verbundene Terminal TTY (in obigem Beispiel sind allerdings nur Prozesse dargestellt, die keine Ausgaben auf ein Terminal tätigen; diesen Sachverhalt kennzeichnet das Fragezeichen) und den Namen der Programme, die von den Prozessen ausgeführt werden.