Controlling Terminal – Process Without a Controlling Terminal

controlling-terminal

What happens with process when it is run without a controlling terminal? How is that process different from a standard processes? What features does it lose and what does it acquire?

UPDATE #1

The question listed as a possible duplicate: Concept of controlling terminal in Unix doesn't contain the answer. Also that other question is too broad and doesn't mention process qualities at all.

Best Answer

Not much.

Mostly a process without a controlling terminal is not subject to receiving (mostly job control related) signals from terminal events.

These would include SIGINT, interrupting the foreground process (group) if the interrupt character is received (usually ^C); SIGTTIN/SIGTTOU stopping the process if it tries I/O to the terminal from the background, and; SIGHUP telling the controlling process (the shell) to terminate, in when the terminal sees a disconnection. (Originally a modem hangup.)

The standard has the details if you like.

Related Question