Linux/Prozessverwaltung

Aus Foxwiki

Linux-Prozessverwaltung

   Prozesse bilden das tragende Konzept eines jeden Betriebssystems. Prozesse werden gestartet, angehalten, reaktiviert, beendet, ihre Ausgaben unterbunden usw.
   Alle Maßnahmen, die die Arbeit der Prozesse beeinflussen, fasst man daher unter dem Begriff der Prozesssteuerung zusammen.
   Die Shells tragen der Bedeutung solcher Mechanismen Rechnung, indem sie unterschiedlichste Möglichkeiten bieten, Prozessen die Richtung zu weisen.
   Wenn die Festplatte kreischt, oder der Bildschirm flimmert, wenn die Soundkarte tönt oder der Prozessor sich erhitzt,... - immer dann zeichnet ein Prozess dafür verantwortlich.
   Programme sind die Ablaufpläne, nach denen etwas zu verrichten ist und Prozesse die Instanzen, die letztlich die Arbeit verrichten.
   Wann immer im System sich etwas dreht, dann ist ein Prozess am werkeln und selbst wenn der Prozessor scheinbar ruht, ist ein Prozess - der Idle-Prozess - aktiv und tut nichts anderes, als zu warten, dass sich wieder etwas tut.
   So ein Prozess im System steht nicht nur für sich allein, sondern ist in die Gesellschaft von seinesgleichen integriert, mit denen er auch Informationen austauschen kann.
   Die dabei grundlegende Beziehung ist die Eltern-Kind-Verwandtschaft zwischen einem Prozess und den von ihm erzeugten Prozessen.
   Der Ursprung aller Prozesse und »Prozessfamilien« liegt im init-Prozess, der als erster Prozess beim Start des Systems mit der Prozessnummer (PID) 1 ins Leben gerufen wird, und dann die elementaren Programme des Systems startet.
   Wenn man alle im System laufenden Prozesse auf Basis dieser Beziehung betrachtet, erhält man einen Prozessbaum. Die Hierarchie lässt sich z.B. mit dem Kommando pstree darstellen:

pstree

init-+-actived
     |-atd
     |-cron
     |-in.identd---in.identd---5*[in.identd]
     |-inetd
     |-innd-+-archive
     |      |-controlchan
     |      |-nnrpd
     |      `-overchan
     |-kdm-+-X
     |     `-kdm---fvwm2-+-FvwmButtons
     |                   |-FvwmPager
     |                   |-netscape---netscape
     |                   |-xosview.bin
     |                   |-xterm---tail
     |                   |-xterm---bash-+-bash1
     |                   |              `-objectman
     |                   |-2*[xterm---bash]
     |                   |-xterm---bash-+-su---bash
     |                                  `-xterm---bash
     |-kflushd
     |-klogd
     |-kpiod
     |-kswapd
     |-kupdate
     |-lockd---rpciod
     |-login---sh