Ответ 1
Наличие контрольного tty означает, что есть определенные условия, при которых конкретные сигналы могут быть отправлены в вашу программу в ответ на события, происходящие в tty/window, где работает ваша программа. Если программа предназначена для демон, она, как правило, более чистая, чтобы убедиться, что у вас нет управляющего tty, чем пытаться написать код, чтобы справляться со всеми дополнительными условиями, которые вы действительно не заботитесь начать...