Prozesse Eltern und Kinder: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ *Jeder Prozess kann weitere Prozesse erzeugen. *Die erzeugten Prozesse bezeichnet man als Kindprozesse. *Jeder Kindprozess weiß anhand der PPID, woher er st…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden 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 PPID, woher er stammt.
+
*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 8: Zeile 8:
 
*Es gibt zwei Arten wie ein Prozess gestartet werden kann:
 
*Es gibt zwei Arten wie ein Prozess gestartet werden kann:
 
# Fork und Exec: Prozessumgebung wird dupliziert, der neue Prozess bekommt eine eigene neue PID
 
# 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-buildin exec)
+
# Exec: Alter Prozess wird durch neuen Prozess überladen (geht mit dem shell-builtin exec)
 
{{#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'''
+
= 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:
  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.