Wenn ein Sitzungsleiter ein Steuerterminal erwirbt, wie würden dann die anderen vorhandenen Prozesse in der Sitzung ebenfalls das Steuerterminal erwerben?

Wenn ein Sitzungsleiter ein Steuerterminal erwirbt, wie würden dann die anderen vorhandenen Prozesse in der Sitzung ebenfalls das Steuerterminal erwerben?

Angenommen, es gibt eine Sitzung mit mehreren Prozessen und ohne steuerndes Terminal.

Wenn der Sitzungsleiter eine Verbindung zu einem steuernden Terminal herstellt,

  • Wie würden die anderen Prozesse in der gleichen Sitzung erfahren, dass die Sitzung ein steuerndes Terminal hat und

  • wie könnten sie auch das Steuerterminal nutzen?

Der Grund für diese Frage ist folgender. Normalerweise ruft ein Prozess auf, setsid()um eine neue Sitzung zu starten und deren Leiter zu werden, und ruft auf, open()um eine Verbindung zu einem Steuerterminal herzustellen. Dann geht der Sitzungsleiter zu fork()den untergeordneten Prozessen über, und die untergeordneten Prozesse erben den Dateideskriptor an das Steuerterminal.

Ich frage mich dann, was passiert, wenn eine Sitzung bereits mehrere Prozesse hat, aber kein Steuerterminal, und der Leiter dann eine Verbindung zu einem Steuerterminal herstellt, und was dann mit den anderen Prozessen in der Sitzung passiert.

Danke.

Antwort1

Jedes neue untergeordnete Element, das der Sitzungsleiter erstellt, nachdem er ein Steuerterminal erworben hat, verfügt ebenfalls über dieses Steuerterminal. Ein Steuerterminal ist etwas, das vom übergeordneten Element geerbt wird.

Mit anderen Worten: Bereits vorhandene Kinder sind davon nicht betroffen.

verwandte Informationen