Process identifierEin Process identifier (process ID, PID; deutsch Prozesskennung) ist in der Informatik ein einzigartiger Schlüssel, welcher der eindeutigen Identifikation von Prozessen dient. Der PID ä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. UNIXDie Kennung eines Prozess, der Process Identifier (PID), wird durch den Systemaufruf Nach dem Ende des Prozess 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. ElternDer Parent Process Identifier (PPID) ist die Kennung des Prozess, der den erzeugenden 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. GruppeDer Process Group Identifier (PGID) ist die Kennung einer Gruppe von Prozessen. Jeder Prozess ist Mitglied genau einer Gruppe.
Die Erzeugung einer Gruppe ist uneinheitlich[2]. ProzessgruppenführerDer Prozess, bei dem PID und PGID gleich sind, wird Prozessgruppenführer genannt[3]. Meist ist das der Prozess, der die Gruppe erzeugt hat. SitzungDer 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ührerDer Sitzungsführer (session leader) ist der Prozess, bei dem PID, PGID und SID gleich sind. Signalesiehe 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. BeispielDie 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). Siehe auchEinzelbelege
|