1. Obwohl sich Benutzer bei einem einzelnen Prozess anmelden (Shell, die ihre Befehlszeilenschnittstelle ist), führen Benutzer am Ende viele Prozesse aus, und zwar aufgrund von Aktionen wie:
-> Nicht interaktive Aufgabe im Hintergrund ausführen.
-> Wechsel zwischen interaktiver Aufgabe über Jobsteuerung.
-> Starten mehrerer Prozesse, die über Pipes zusammenarbeiten.
-> Ausführen eines Fenstersystems wie des X-Fenstersystems, mit dem mehrere Terminalfenster geöffnet werden können.
2. Um alle diese Prozesse handhaben zu können, muss der Kernel Prozessgruppen bilden, die aus diesen Prozessen bestehen.
3. Um diese Prozessgruppen je nach Benutzer weiter zu verwalten, werden diese Gruppen je nach Benutzer in Sitzungen unterteilt. (Beachten Sie, dass der Benutzer kein Linux-Benutzer ist, sondern Shell oder Terminal für Benutzer. Zwei Terminals auf demselben Computer sind von demselben Linux-Benutzer angemeldet steht hier für 2 verschiedene Benutzer und damit 2 verschiedene Benutzersitzungen. Ein Terminal kann das Terminal nur für eine einzelne Sitzung steuern.
Der Prozess, der die Shell für diesen „Benutzer“ oder diese Sitzung ausführt, wird als Sitzungsleiter bezeichnet.
4. Beachten Sie auch, dass Sie das Terminal schließen, indem Sie die Taste 'x' drücken, um das Terminal nicht zu verlassen. Das Terminal läuft weiter im Hintergrund. Wenn Sie die Sitzung vom Terminal aus beenden möchten, müssen Sie sich von dort abmelden, indem Sie STRG + D drücken oder beenden.
5. Während Sie sich vom Terminal abmelden, sendet der Kernel ein SIGHUP-Signal (ähnlich wie kill -1) an den Prozess, der der Sitzungsleiter ist. Jetzt ist jeder andere Prozess, der im Terminal ausgeführt wird, diesem Sitzungsleiter untergeordnet. Diese untergeordneten Prozesse hatten Prozessgruppen gebildet, die von diesem Sitzungsleiterprozess (übergeordneter Prozess) gesteuert werden.
6. Der Sitzungsleiterprozess sendet SIGHUP an jeden untergeordneten Prozess. Einige Prozesse werden beendet, während andere festlegen können, dass sie nicht beendet werden sollen (die angehalten werden oder im Hintergrund ausgeführt werden). Diejenigen, die sich dafür entscheiden, nicht zu beenden, werden als Session-Overs verwaist und sofort vom Init-Prozess (übergeordnetes Element aller Prozesse in Linux-Computern) übernommen.
Weitere Informationen finden Sie unter Link Das Prozessmodell der Linux-Entwicklung