Я подключился к своему серверу через SSH и создал процесс, но внезапно мое интернет-соединение было отключено. Я знаю, что процесс продолжается, но как восстановить предыдущую сессию, чтобы увидеть ее прогресс?
Я подключился к своему серверу через SSH и создал процесс, но внезапно мое интернет-соединение было отключено. Я знаю, что процесс продолжается, но как восстановить предыдущую сессию, чтобы увидеть ее прогресс?
Ответы:
Как предложено выше, в будущем вы можете использовать экран, чтобы предотвратить такую вещь. Краткое объяснение о том, как использовать экран:
screen -S compiling_stuff
./configure
screen -r comp
CTRL+A+D
Удачи
screen
Лучше всего запустить команду в терминале, которая будет сохраняться при отключении от нее (либо намеренно, ctrl + ad, либо потому, что соединение прервано и т. д.).
ОДНАКО вы МОЖЕТЕ повторно подключить запущенный процесс (например, оболочку вашего запущенного сеанса, если он все еще работает) к вашему текущему терминалу (то есть повторно подключить stdin, stdout, клавиатуру, но также сделать новый терминал управляющим терминалом для этого). процесс) используя: reptyr
Для лучшего из обоих миров: установите screen
, запустите его, а затем повторно присоедините этот процесс в сеансах этого экрана с reptyr
^^
Просто подумал, что упомяну http://mosh.mit.edu/
Приложение для удаленного терминала, которое позволяет осуществлять роуминг, поддерживает прерывистое соединение и обеспечивает интеллектуальное локальное эхо и редактирование линий пользовательских нажатий клавиш.
Mosh - это замена SSH. Он более надежный и отзывчивый, особенно по Wi-Fi, сотовой связи и междугородной связи.
Используйте screen
через ssh для повторного подключения к вашей сессии.
Насколько я знаю, нет способа переподключиться к закрытой ssh-сессии.
Я могу рекомендовать Byobu :
Byobu - это усовершенствование терминальных мультиплексоров GNU Screen или tmux, которое можно использовать для предоставления на экране уведомлений или статуса, а также управления несколькими окнами с вкладками. Он направлен на обеспечение лучшего взаимодействия пользователей с терминальными сеансами при подключении к удаленным серверам.
Я бы порекомендовал использовать tmux :
Вы можете восстановить сессию tmux через tmux attach
.
tmux - это программное приложение, которое можно использовать для мультиплексирования нескольких виртуальных консолей, позволяя пользователю получить доступ к нескольким отдельным сеансам терминала в одном окне терминала или сеансе удаленного терминала. Это полезно для работы с несколькими программами из интерфейса командной строки и для отделения программ от оболочки Unix, которая запустила программу. [1] Он обеспечивает многие из тех же функций, что и экран GNU, но распространяется под лицензией BSD.