Зачем препятствовать открытию файла в качестве управляющего терминала (с O_NOCTTY)?

Назначение O_NOCTTY документируется как:

O_NOCTTY - запретить ОС назначать открытый файл как терминал управления процессом при открытии файла устройства TTY

Может кто-нибудь объяснить намерение предотвратить открытие файла управляющим терминалом?

Ответ 1

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