2017-11-24 3 views
1

Eine Sitzung in Linux kann ein kontrollierendes Terminal haben.Ist die "Vordergrundprozessgruppe" eine Eigenschaft des steuernden Terminals oder eine Eigenschaft der Sitzung?

Was ich bin daran interessiert zu wissen, wenn Sie die Vordergrund Prozessgruppe gesetzt einen Steueranschlusses (tcsetpgrp() verwendet wird), ist die Variable, die die Prozessgruppen-ID der Vordergrund Prozessgruppe gehört zur Steueranschluss hält Datenstrukturen oder gehört es zu den Sitzungsdatenstrukturen?

Antwort

1

tcsetpgrp() wird über das ioctl TIOCSPGRP auf dem tty-Gerät implementiert.

Dieses ioctl wiederum ist in der Kernel-Funktion tiocspgrp implementiert, setzt Element pgrp des struct tty_struct für das Terminal.

Kurz gesagt, die Vordergrundprozessgruppe wird in der Datenstruktur tty gespeichert. Das ist sinnvoll, da die Vordergrundprozessgruppe darin besteht, zu erkennen, welcher Prozess Signale von der tty empfängt, wenn der Benutzer Tastenkombinationen wie ctrl-C und ctrl-Z drückt.

Verwandte Themen