Наша сеть включает в себя серию немых текстовых терминалов, которые подключены к серверу SCO OpenServer 6 через Telnet. Иногда один из этих терминалов выходит из строя, вынуждая оператора переходить на другой терминал, пока сломанный терминал не будет отремонтирован или заменен.
Обычно это приводит к зависанию процессов и связанных с этим неприятностей, связанных с тем, что важные файлы не закрываются должным образом. Вместо того, чтобы вручную убивать процессы и закрывать / восстанавливать незакрытые файлы, было бы гораздо практичнее просто «повторно подключить» существующие процессы к новому терминалу и позволить оператору продолжить работу, как будто ничего не произошло.
Возникает вопрос: возможно ли это вообще? И если да, то как мне лучше всего это сделать?
Для этого и была изобретена утилита screen. Хотя я использовал его в основном в Linux, нет абсолютно никаких причин, по которым порт для вашей ОС не может существовать. Это часть набора инструментов GNU, и я не нашел порта, но он, вероятно, существует (или может).
Экран замечательный, как отмечалось в предыдущем ответе. Вероятно, это решит вашу проблему. В ситуациях, когда screen не подходит (например, запускается фоновая задача), посмотрите nohup.
Как отметили два других респондента, экран специально предназначен для этого использования и также имеет ряд других полезных функций.
Я установил количество хостов, к которым я подключаюсь, для запуска экрана при каждом входе в систему, поэтому я не забываю и замечаю только, когда что-то происходит, вызывая неожиданное отключение, и к этому моменту уже слишком поздно. Видеть http://tlug.dnho.net/?q=node/239 для одного примера настройки этого.