Prozesse Eltern und Kinder

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
  • Jeder Prozess kann weitere Prozesse erzeugen.
  • Die erzeugten Prozesse bezeichnet man als Kindprozesse.
  • Jeder Kindprozess weiß anhand der Parent Process ID, woher er stammt.
  • Alle Prozesse sind von einem anderen Prozess gestartet worden, mit Ausnahme des Pseudoprozesses.
  • Dieser hat die Prozessnummer 0. Er hat die Aufgabe, den Init Prozess zustarten.
  • In neuen Linux Distributionen ist dies systemd.
  • Es gibt zwei Arten wie ein Prozess gestartet werden kann:
  1. Fork und Exec: Prozessumgebung wird dupliziert, der neue Prozess bekommt eine eigene neue PID
  2. Exec: Alter Prozess wird durch neuen Prozess überladen (geht mit dem shell-builtin exec)
  • Dadurch entsteht eine Baumstruktur ähnlich zu den Verzeichnissen
  • Anzeigen mit pstree
systemd-+-ModemManager---2*[{ModemManager}]
        |-NetworkManager---2*[{NetworkManager}]
        |-accounts-daemon---2*[{accounts-daemon}]
        |-acpid
        |-avahi-daemon---avahi-daemon
        |-bluetoothd
        |-colord---2*[{colord}]
        |-cron
        |-cups-browsed---2*[{cups-browsed}]
        |-cupsd


Rechte auf Objekte UID GID

  • Ob ein Prozess auf eine Datei zugreifen kann, entscheidet der Kernel anhand der Zugriffssrechte, die auf der Datei gesetzt sind.
  • Er checkt anhand der UID und GID des Prozesses, ob es erlaubt ist. Mit dieser Technik wird letztendlich geprüft, was ein User darf, und was nicht.