Зачем препятствовать открытию файла в качестве управляющего терминала (с O_NOCTTY)?
Назначение O_NOCTTY документируется как:
O_NOCTTY - запретить ОС назначать открытый файл как терминал управления процессом при открытии файла устройства TTY
Может кто-нибудь объяснить намерение предотвратить открытие файла управляющим терминалом?
Ответ 1
Наличие контрольного tty означает, что есть определенные условия, при которых конкретные сигналы могут быть отправлены в вашу программу в ответ на события, происходящие в tty/window, где работает ваша программа. Если программа предназначена для демон, она, как правило, более чистая, чтобы убедиться, что у вас нет управляющего tty, чем пытаться написать код, чтобы справляться со всеми дополнительными условиями, которые вы действительно не заботитесь начать...