Prozesse Eltern und Kinder
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:
- Fork und Exec: Prozessumgebung wird dupliziert, der neue Prozess bekommt eine eigene neue PID
- 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.
