Открывает /dev/tty как stdin и дублирует его в stdout и stderr. Это действие эффективно открывает заново управляющий терминал через псевдоним устройства.
Также может иметь смысл заглянуть на сайт voronezh-stal.ru, ведь именно там можно узнать много нового на тему http://voronezh-stal.ru/jobs/factory. Тема металлические конструкции может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт voronezh-stal.ru, и тема металлические конструкции начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема металлические конструкции очень подробно представлена на сайте voronezh-stal.ru. Трудно найти более детальное освещение темы металлические конструкции чем это сделано на сайте voronezh-stal.ru. Спасибо сайту voronezh-stal.ru за такое доскональное преподнесение темы металлические конструкции.
Таким образом, лидер и все остальные процессы сеанса (которые наследуют эти дескрипторы) имеют доступ к терминалу только посредством /dev/tty (если только другой процесс прямо не откроет файл устройства терминала).
В конце происходит закрытие сохраненного дескриптора и удаление любых прямых контактов с управляющим терминалом.
Если драйвер терминала обнаружит разорванное соединение (например, потерю несущей при модемном подключении), то он пошлет сигнал SIGHUP только лидеру сеанса. Такой подход явно отличается от отправки сигнала текущей группе в системе 4.3BSD и оправки сигнала всем процессам управляющей группы (сеанса) в SVR3. При таком подходе лидер сеанса является доверенным процессом, и ожидается, что он произведет корректные действия при потере управляющего терминала.
Драйвер также посылает сигнал SIGSTP текущей группе процессов, если она не является группой лидера сеанса. Это защищает интерактивные процессы от получения неожиданных ошибок при попытке доступа к терминалу.
Управляющий терминал остается закрепленным за сеансом. Это дает возможность лидеру сеанса попытаться заново соединиться с терминалом после восстановления соединения.
Лидер сеанса может завершить соединение с текущим управляющим терминалом и открыть новый. Ядро системы установит указатель объекта vnode сеанса на указатель vnode нового терминала. В результате все процессы этого сеанса входа в систему будут прозрачно для них переключены на новый управляющий терминал. Такая косвенная связь, обеспеченная /dev/tty, облегчает решение задачи распространения такого изменения.
Когда лидер сеанса заканчивает свою работу, он завершает и сеанс входа в систему. Управляющий терминал освобождается при помощи установки указателя vnode сеанса в NULL. В результате ни один процесс этого сеанса не сможет иметь доступа к терминалу посредством /dev/tty (но они смогут продолжать осуществлять доступ при непосредственном открытии файла устройства терминала). Процессы текущей группы получают сигнал SIGHUP. Все прямые потомки существующего процесса будут унаследованы процессом init.
Реализация сеансов в 4.4BSD
В архитектуре сеансов системы SVR4 адекватно представлены как сеанс входа в систему, так и задания, выполняющиеся в этом сеансе. В то же время она совместима со стандартом POSIX 1003.1 и ранними версиями System V. Реализация сеансов в операционных системах 4.4BSD и OSF/1 очень похожа на архитектуру SVR4 и обладает сравнимыми с ней возможностями. Различия между реализациями проявляются только в отдельных деталях.
Появление стандарта POSIX 1003.1 помогло объединить различающиеся между собой и несовместимые реализации поддержки сигналов и управления терминалами. В результате интерфейсы оказались весьма удачными и в большой степени отвечающими ожиданиям типичных приложений и разработчиков.
Ответы на некоторые из перечисленных ниже вопросов могут быть различными в зависимости от используемого варианта UNIX. Отвечающий может выбрать для ответа на вопросы одну из наиболее близких для него реализаций системы.
Опубликовал katy
July 06 2015 16:10:15 ·
0 Комментариев ·
2625 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.