Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can some one please explain in an easy to understand way the concept of controlling terminal in unix and unix like systems ? Is it related to a session ? If yes, then how ?

share|improve this question
The TTY demystified is a really good article that may help you get some of the concepts. – donothingsuccessfully Dec 11 '12 at 18:23
up vote 6 down vote accepted

There is a process group leader - sort of like the head process - that owns the terminal, /dev/tty. A process group can be one or many processes.

The stty command changes and displays terminal settings. If you are actually going to use UNIX seriously consider finding a copy of Stevens 'Advanced Programming in the UNIX Environment'. Terminals have a lot of heavy baggage from the 1970's. You will spot that right away. Most of those odd settings can be ignored except for special things like UNIX system consoles.

share|improve this answer

A terminal is a file in the file-system through which (usually) a user interacts with a non-GUI program.
When you run a program from a remote or local shell, it is associated to your terminal, and unless you or it redirect it's input or output, it is read and written from/to that terminal.

When a terminal is closed, programs running in it are signaled so they can exit or detach themselves.

Regarding it's connection to "session": if you are referring to a GUI session, then it has no direct relation to it, apart from the fact that some UNIX and UNIX like systems run the GUI under it's own terminal.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.