Process identifier: Unterschied zwischen den Versionen
Leere Seite erstellt |
K Textersetzung - „Kategorie:Betriebssystemtheorie“ durch „Kategorie:Betriebssystem/Architektur“ |
||
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Process identifier''' - PID | |||
== Beschreibung == | |||
'''Process identifier''' ('''process ID''', '''PID'''; deutsch '''Prozesskennung''') | |||
* In der [[Informatik]] ein einzigartiger [[Nummerung|Schlüssel]] | |||
* Eindeutigen [[Identifikator|Identifikation]] von [[Prozess (Informatik)|Prozessen]] | |||
* Ändert sich während der [[Laufzeit (Informatik)|Laufzeit]] des Prozesses nicht | |||
Die meisten [[Betriebssystem]]e (z. B. [[Unix]], [[Microsoft Windows|Windows]]) verwenden dafür eine [[natürliche Zahl]]. | |||
* Process IDs werden hauptsächlich für die [[Interprozesskommunikation]] benötigt | |||
== UNIX == | |||
Die Kennung eines [[Prozess]], der Process Identifier (PID), wird durch den Systemaufruf [[fork (Unix)|<code>fork()</code>]] vergeben, der den Prozess erzeugt und startet. | |||
Nach dem Ende des Prozesses bleibt seine Kennung gültig, bis seine Meta-Daten (z. B. [[Return Code]]) ausgewertet wurden, siehe [[Zombie-Prozess]]. Danach kann eine ungültige PID wieder vergeben werden. | |||
=== Eltern === | |||
Der Parent Process Identifier (PPID) ist die Kennung des Prozess, der den erzeugenden <code>fork()</code> Aufruf gemacht hat. | |||
Wird ein Prozess beendet, wird an die PPID ein [[Signal (Unix)|Signal]] geschickt. | |||
Ist der Elternprozess beendet, ändert sich die PPID und wird traditionell auf ''1'' gesetzt. | |||
=== Gruppe === | |||
Der Process Group Identifier (PGID) ist die Kennung einer Gruppe von Prozessen. Jeder Prozess ist Mitglied genau einer Gruppe. | |||
[[kill (Unix)|<code>kill()</code>]] kann mit einem Aufruf ein Signal an alle Mitglieder der Gruppe verschicken<ref>https://linux.die.net/man/3/kill</ref>. | |||
Die Erzeugung einer Gruppe ist uneinheitlich<ref>https://man7.org/linux/man-pages/man2/setpgid.2.html</ref>. | |||
==== Prozessgruppenführer ==== | |||
Der Prozess, bei dem PID und PGID gleich sind, wird ''Prozessgruppenführer'' genannt<ref>Steffen Wendzel, Johannes Plötner: ''Linux''. Rheinwerk Verlag, Bonn 2022, ISBN 978-3-8362-8543-8. (Kapitel 5.1 ''Sessions und Prozessgruppen'' Seite 179)</ref>. Meist ist das der Prozess, der die Gruppe erzeugt hat. | |||
=== Sitzung === | |||
Der Session Identifier ist die Kennung einer „Sitzung“. Im Umfeld der grafischen Bedienoberflächen sind die Prozesse zusammengefasst, die gemeinsam ein Anzeigegerät (Display) benutzen. Bildlich steht davor ein Sessel (Seat), auf dem jemand sitzt. | |||
Eine Sitzung kann mehrere Prozessgruppen umfassen. | |||
==== Sitzungsführer ==== | |||
Der Sitzungsführer (session leader) ist der Prozess, bei dem PID, PGID und SID gleich sind. | |||
=== Signale === | |||
siehe [[Signal (Unix)]] | |||
Endet ein Prozess, wird durch den Kernel ein [[SIGCLD]] bzw. [[SIGCHLD]] an die PPID geschickt. | |||
Endet ein Prozessgruppenführer oder Sitzungsführer, wird ggf. durch den [[Kernel (Betriebssystem)]] ein [[SIGHUP]] an eine Gruppe geschickt. Das ist abhängig, von der Zuordnung und Einstellung eines Terminals. | |||
=== Beispiel === | |||
Die [[Bourne-again shell]] läuft als Prozess auf einem Unix-System. Diesem Prozess wird eine einzigartige PID zugewiesen (beispielsweise: 3139). Startet man nun aus diesem Prozess einen weiteren Kindprozess, so läuft dieser nun mit seiner eigenen PID (z. B. 4171) unter der PPID des Elternprozesses (3139). | |||
[[Datei:PPID.png|Beispiel-Ausgabe einer Unix-Shell beim Aufruf des Befehls ''$ ps -f'']] | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
---- | |||
* [[Fork (Unix)]] | |||
* [[ps (Unix)]] | |||
* [[pidof]] | |||
* [[init]] – UNIX-Prozess mit der PID 1 | |||
* [[Benutzerkennung|UID]] | |||
* [[GID]] | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://de.wikipedia.org/wiki/Process_identifier | |||
[[Kategorie:Betriebssystem/Architektur]] | |||
[[Kategorie:Linux/Prozess]] | |||
</noinclude> |
Aktuelle Version vom 12. Oktober 2025, 11:20 Uhr
Process identifier - PID
Beschreibung
Process identifier (process ID, PID; deutsch Prozesskennung)
- In der Informatik ein einzigartiger Schlüssel
- Eindeutigen Identifikation von Prozessen
- Ändert sich während der Laufzeit des Prozesses nicht
Die meisten Betriebssysteme (z. B. Unix, Windows) verwenden dafür eine natürliche Zahl.
- Process IDs werden hauptsächlich für die Interprozesskommunikation benötigt
UNIX
Die Kennung eines Prozess, der Process Identifier (PID), wird durch den Systemaufruf fork()
vergeben, der den Prozess erzeugt und startet.
Nach dem Ende des Prozesses bleibt seine Kennung gültig, bis seine Meta-Daten (z. B. Return Code) ausgewertet wurden, siehe Zombie-Prozess. Danach kann eine ungültige PID wieder vergeben werden.
Eltern
Der Parent Process Identifier (PPID) ist die Kennung des Prozess, der den erzeugenden fork()
Aufruf gemacht hat.
Wird ein Prozess beendet, wird an die PPID ein Signal geschickt.
Ist der Elternprozess beendet, ändert sich die PPID und wird traditionell auf 1 gesetzt.
Gruppe
Der Process Group Identifier (PGID) ist die Kennung einer Gruppe von Prozessen. Jeder Prozess ist Mitglied genau einer Gruppe.
kill()
kann mit einem Aufruf ein Signal an alle Mitglieder der Gruppe verschicken[1].
Die Erzeugung einer Gruppe ist uneinheitlich[2].
Prozessgruppenführer
Der Prozess, bei dem PID und PGID gleich sind, wird Prozessgruppenführer genannt[3]. Meist ist das der Prozess, der die Gruppe erzeugt hat.
Sitzung
Der Session Identifier ist die Kennung einer „Sitzung“. Im Umfeld der grafischen Bedienoberflächen sind die Prozesse zusammengefasst, die gemeinsam ein Anzeigegerät (Display) benutzen. Bildlich steht davor ein Sessel (Seat), auf dem jemand sitzt.
Eine Sitzung kann mehrere Prozessgruppen umfassen.
Sitzungsführer
Der Sitzungsführer (session leader) ist der Prozess, bei dem PID, PGID und SID gleich sind.
Signale
siehe Signal (Unix)
Endet ein Prozess, wird durch den Kernel ein SIGCLD bzw. SIGCHLD an die PPID geschickt.
Endet ein Prozessgruppenführer oder Sitzungsführer, wird ggf. durch den Kernel (Betriebssystem) ein SIGHUP an eine Gruppe geschickt. Das ist abhängig, von der Zuordnung und Einstellung eines Terminals.
Beispiel
Die Bourne-again shell läuft als Prozess auf einem Unix-System. Diesem Prozess wird eine einzigartige PID zugewiesen (beispielsweise: 3139). Startet man nun aus diesem Prozess einen weiteren Kindprozess, so läuft dieser nun mit seiner eigenen PID (z. B. 4171) unter der PPID des Elternprozesses (3139).
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- ↑ https://linux.die.net/man/3/kill
- ↑ https://man7.org/linux/man-pages/man2/setpgid.2.html
- ↑ Steffen Wendzel, Johannes Plötner: Linux. Rheinwerk Verlag, Bonn 2022, ISBN 978-3-8362-8543-8. (Kapitel 5.1 Sessions und Prozessgruppen Seite 179)