How Terminals Work

54 pointsposted a month ago
by gnodar

6 Comments

Cr8

a month ago

nitpick - EOF is not a signal, it just flushes the current line content without needing a newline in cooked mode and doing this on an empty line results in a 0 byte read(), which most apps interpret as EOF

and the terminal emulator is not itself sending the signals, its always just sending raw characters to the pty device - it is the kernel's pty layer sending a signal if the right flags are on and doing line buffering, local echo, etc. and signals go to the foreground process group (which is set by the shell making a tcsetpgrp syscall)

user

a month ago

[deleted]

neeewbee

a month ago

Thanks for this great work, very helpful. Today I learned!

g-b-r

a month ago

Wow, this seems so good !!!