Linux/Prozessverwaltung

Aus Foxwiki
Version vom 28. Mai 2023, 07:44 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „  “ durch „ “)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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