Prozesse Eltern und Kinder: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
*Jeder Prozess kann weitere Prozesse erzeugen. | *Jeder Prozess kann weitere Prozesse erzeugen. | ||
*Die erzeugten Prozesse bezeichnet man als Kindprozesse. | *Die erzeugten Prozesse bezeichnet man als Kindprozesse. | ||
| − | *Jeder Kindprozess weiß anhand der | + | *Jeder Kindprozess weiß anhand der '''P'''arent '''P'''rocess '''ID''', woher er stammt. |
*Alle Prozesse sind von einem anderen Prozess gestartet worden, mit Ausnahme des Pseudoprozesses. | *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. | *Dieser hat die Prozessnummer 0. Er hat die Aufgabe, den Init Prozess zustarten. | ||
| Zeile 11: | Zeile 11: | ||
{{#drawio:fork-exex}} | {{#drawio:fork-exex}} | ||
| + | * 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 | + | * Ob ein Prozess auf eine Datei zugreifen kann, entscheidet der Kernel anhand der Zugriffssrechte, die auf der Datei gesetzt sind. |
| − | Zugriffssrechte, die auf der Datei gesetzt sind. Er checkt anhand der UID und GID | + | * 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. |
| − | des Prozesses, ob es erlaubt ist. Mit dieser Technik wird letztendlich geprüft, was | ||
| − | ein User darf, und was nicht. | ||
Aktuelle Version vom 23. März 2023, 23:02 Uhr
- 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.
