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 - derIdle-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