Нет такой вещи как файл конфигурации среды для различных оболочек, потому что даже окружают конкретный, как они определяются.
В csh Вы используете setenv
в ударе Вы используете export
определить их.
Так или иначе Вы могли записать свой собственный файл конфигурации и включать его с source
в dotfiles Ваших оболочек.
Нет никакого пути, но предотвратить это мне нравится использовать tmux
. Я запускаю tmux, запускаю операцию и продолжаю мой путь. Если я возвращаю и нахожу, что соединение было повреждено, все, что я должен сделать, повторно подключают и вводят tmux attach
.
Вот пример.
$ tmux
$ make <something big>
......
Connection fails for some reason
Reconect
$ tmux ls
0: 1 windows (created Tue Aug 23 12:39:52 2011) [103x30]
$ tmux attach -t 0
Back in the tmux sesion
Рекомендации для tmux и экрана являются оба хорошими предложениями. Они подразумевают ответ на Ваш вопрос, но на самом деле не заявляют это. Ответ на вопрос: нет никакого пути. Если Вы входите в систему через ssh, оболочка заканчивается, когда соединение отбрасывает. Обходное решение должно войти и сразу запустить виртуальный терминал некоторого вида (такой как tmux
). Когда соединение отбрасывает, оболочка, в которой Вы находитесь, заканчивается, но можно открыть новую оболочку и снова соединиться с виртуальным терминалом (который выполняет оболочку, в которой Вы на самом деле делаете свою работу.)
Как William сказал, короткий ответ не, нет никакого пути. Для предотвращения этого, Вы могли использовать экранную команду перед потерей соединения
Нет, Вы не можете восстановить оболочку после разъединения. Вместо этого то, что можно сделать, гарантируют команду, которую Вы выполняли, продолжает бежать за разъединением.
Для достижения этого используйте "nohup" и "отрицайте" команды, которые являются обычно встроенными командами на большинстве оболочек, т.е. Вы ничего не должны устанавливать. Это только работает на неинтерактивные команды все же.
Так, шаги были бы следующие:
Когда Вы возвращаетесь к серверу, просто "хвост nohup.out", чтобы видеть, как команда делает.
Как многие предлагали screen
и tmux
, они оба поддерживают базовую функциональность, но имеют различные специфические особенности, поэтому нельзя сказать, что один из них превосходит другой во всех случаях. Например, только tmux поддерживает Window-splitting, в то время как только GNU-экран может переключать длинную обертку с помощью (Ctrl+a r). Смотрите более подробное сравнение здесь.
Существуют также инструменты, специально предназначенные для исправления этой проблемы ssh:
Autossh - это программа для запуска копии ssh и наблюдения за ней, перезапускающая ее по мере необходимости, если она погибает или останавливает проходящий трафик. Идея заключается в rstunnel.
Mosh - приложение для удаленного терминала, позволяющее работать в роуминге, поддерживающее прерывистое соединение, а также обеспечивающее интеллектуальное локальное эхо и линейное редактирование пользовательских нажатий клавиш. Мош является заменой SSH. Это более надежное и отзывчивое приложение, особенно по Wi-Fi, сотовым и междугородним соединениям.
Кто-то добавил reptyr в комментарии, а не в ответе, поэтому я не могу проголосовать за него, но он кажется хорошим ответом на отредактированный вопрос и отлично работал с CentOS.
см .: https://github.com/nelhage/reptyr https://www.ostechnix.com/reptyr-move-running-process-new-terminal/
Есть ли способ восстановить мои зависшие сеансы после повторного подключения?
РЕДАКТИРОВАТЬ: я выполняю некоторые обновления и установку с помощью yum и беспокоюсь , что это может быть проблемой, если процессы продолжают зависать посередине из того, что они делают.
То же самое, я потерял удаленное соединение с сеансом обновления yum. Я поискал и нашел этот вопрос ... затем снова подключился и использовал screen на этот раз:
и вот я нахожусь в восстановленном приглашении, которое yum выдавал несколькими часами ранее.
Технически все ответы верны, это НЕ восстановление зависшего сеанса, это переподготовка потерянного процесса к текущему сеансу. И очень полезно, это тоже ...
{ {1}}Это можно сделать с помощью оболочки tmux
. Если вы отключились, самый быстрый способ повторно подключить сеанс —:
tmux a #0
screen
. – 23.08.2011, 12:45