Как на самом деле работает `screen`?

8

Я только что узнал, screenи это выглядит замечательно.

Некоторые вопросы:

  1. Как они на самом деле работают?
  2. Почему загрузка / процесс не прерывается на экранах, даже если случилось что-то плохое?
JSN Alf
источник
Может быть полезно: echo $TERMв сеансе экрана печатает screenв отличие от xtermобычных сеансов Bash.
форумчан

Ответы:

16

Очень кратко (это возможно , чтобы написать несколько страниц на эту тему): screen работы по

  • настройка серверного процесса, который принимает весь ввод / вывод непосредственно на ваш терминал,
  • запуск клиентских процессов для каждого окна, которое вы создаете, и
  • подключение сервера и клиентов при их запуске с использованием псевдотерминального соединения (функция операционной системы).

Как только клиент (окно) создан, он изолирован от других клиентов. Он связывается через псевдотерминальное соединение с процессом сервера, который обновляет терминал. Сервер отслеживает, что должно отображаться на терминале в данном окне, предоставляя вам возможность переключаться между окнами. Клиенты работают, не зная, screenотображает ли в данный момент их информацию.

Томас Дики
источник
ясно и быстро +1
аран