Re:A Guide to the Terminal, Console, and Shell
by thanato0s on Wednesday December 28, 2022 @05:36AM
(#34159552)
Yeah, I'm a bit confused by the concept of "controlling terminal". As I understand it, in the physical video terminal days, the console connected to the computer was the "controlling terminal", but I'm not sure how this concept translate in the terminal emulator world.
So, do you know what's the difference between the "controlling termina" and the "terminal connected to stdin"? I though the terminal connected to stdin was the controlling terminal...
Re:A Guide to the Terminal, Console, and Shell
by jwilk on Thursday December 29, 2022 @04:36AM
(#34171019)
You can redirect stdin, but that doesn't disassociate the process from the controlling terminal:
$ tty
/dev/pts/1
$ tty < /dev/null
not a tty
$ ps -q $$ -o tty= < /dev/null
pts/1
The other file descriptors referring to the terminal don't matter either: $ sh -c 'pid=$$; tty=$(ps -q $pid -o tty=); echo "$tty" > /dev/tty' <&- >&- 2>&-
pts/1
No, tty(1) prints the name of the terminal connected to stdin. This is not necessarily the same as the controlling terminal.
> who - Show all the users logged in a controlling terminal
This is confused too.