Linux/Prozess

Aus Foxwiki

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.