Was sind Sitzungsleiter, wie in ps -d
die alle Prozesse außer Sitzungsleitern auswählt?
Akzeptierte Antwort:
Unter Linux sind jedem Prozess mehrere IDs zugeordnet, darunter:
-
Prozess-ID (PID)
Dies ist eine willkürliche Zahl, die den Prozess identifiziert. Jeder Prozess hat eine eindeutige ID, aber nachdem der Prozess beendet wurde und der übergeordnete Prozess den Beendigungsstatus abgerufen hat, wird die Prozess-ID freigegeben, um von einem neuen Prozess wiederverwendet zu werden.
-
Übergeordnete Prozess-ID (PPID)
Dies ist nur die PID des Prozesses, der den betreffenden Prozess gestartet hat. Wenn der übergeordnete Prozess vor dem untergeordneten Prozess beendet wird, wird die PPID des untergeordneten Prozesses in einen anderen Prozess geändert (normalerweise PID 1).
-
Prozessgruppen-ID (PGID)
Dies ist nur die PID des Prozessgruppenleiters. Wenn PID ==PGID, dann ist dieser Prozess ein Prozessgruppenleiter.
-
Sitzungs-ID (SID)
Dies ist nur die PID des Sitzungsleiters. Wenn PID ==SID, dann ist dieser Prozess ein Sitzungsleiter.
Sitzungen und Prozessgruppen sind nur Möglichkeiten, eine Reihe verwandter Prozesse als Einheit zu behandeln. Alle Mitglieder einer Prozessgruppe gehören immer derselben Sitzung an, aber eine Sitzung kann mehrere Prozessgruppen haben.
Normalerweise ist eine Shell ein Sitzungsleiter, und jede von dieser Shell ausgeführte Pipeline ist eine Prozessgruppe. Dies soll es einfach machen, die Kinder einer Shell zu töten, wenn sie austritt. (Siehe exit(3) für die blutigen Details.)
Ich glaube nicht, dass es einen speziellen Begriff für ein Mitglied einer Sitzung oder Prozessgruppe gibt, das nicht der Leiter ist.