Відновити сеанс SSH


13

Я підключився до свого сервера через SSH і створив процес, але раптом мій інтернет-зв’язок відключився. Я знаю, що процес триває, але як відновити попередній сеанс, щоб побачити хід його?

Відповіді:


16

Як було запропоновано вище, надалі ви можете використовувати екран для запобігання подібного. Коротке пояснення щодо використання екрана:

  1. screen -S compiling_stuff
  2. Робіть тут речі. напр ./configure
  3. Якщо з'єднання з якихось причин перерване, ви можете знову підключитися до сервера та видати screen -r comp
  4. Ви також можете від'єднати сеанс екрану самостійно, натиснувши CTRL+A+D

Удачі


17

screen найкраще запустити команду в терміналі, яка зберігатиметься при відключенні від неї (або за призначенням, ctrl + ad, або через те, що з'єднання відмирає тощо).

ЯКЩО МОЖЕТЕ повторно приєднати запущений процес (наприклад: оболонку вашого запущеного сеансу, якщо він все ще запущений) до вашого поточного терміналу (тобто повторно приєднати stdin, stdout, клавіатуру, а також зробити новий термінал контрольним терміналом для цього процес), використовуючи: рептир

Для найкращого з обох світів: встановіть screen, запустіть його, а потім знову приєднайте цей процес у сеансах екрану з reptyr^^


Олівере, як можна знову приєднатися до запущеного процесу? Не могли б ви підказати, будь ласка, підказку?
лучник

@archer: підказка: перейдіть за посиланням ^^ (кінець мого 2-го абзацу)
Олів'є Дулак

@archer: але екран простіший: після запуску на екрані, ctrl + ad: відключення від екрана (і повернення додому). потім знову приєднати до екрана: "screen -r" (або більш складний спосіб, якщо речі застрягли). Щоб розмежовуватись між багатьма екранними сесіями, дайте їм назву.
Олів'є Дулак

7

Ви не можете. Надалі ви можете запобігти щось подібне за допомогою screenабо tmux, що там, де створено, щоб дозволити знову підключитися до сеансу після відключення.


5

Просто думав, що я згадаю http://mosh.mit.edu/

Застосування віддаленого терміналу, яке дозволяє роумінгу, підтримує переривчасте підключення та забезпечує інтелектуальне локальне відлуння та редагування рядків натискань клавіш користувача.

Mosh є заміною SSH. Це більш надійний та чуйний, особливо через Wi-Fi, стільникові та міжміські зв’язки.


+1 за голови вгору, я ніколи раніше не чув про цей інструмент!
Олів'є Дулак

2

Використовуйте screenчерез ssh, щоб пізніше підключитися до свого сеансу.

Наскільки я знаю, немає можливості підключитися до закритого ssh-сеансу.


1

Я можу порекомендувати Byobu :

Byobu - це вдосконалення для термінальних мультиплексорів GNU Screen або tmux, які можна використовувати для надання на екрані сповіщень або стану, а також для керування кількома вікнами на вкладках. Він спрямований на забезпечення кращого досвіду роботи користувачів термінальних сеансів під час підключення до віддалених серверів.


1

Я рекомендую використовувати tmux :

Ви можете відновити сеанс tmux через tmux attach.

tmux - це програмне забезпечення, яке можна використовувати для мультиплексування декількох віртуальних консолей, що дозволяє користувачеві отримувати доступ до декількох окремих сеансів терміналу всередині одного вікна терміналу або сеансу віддаленого терміналу. Це корисно для роботи з декількома програмами з інтерфейсу командного рядка та для відділення програм від оболонки Unix, яка запустила програму. [1] Він надає багато тих же функцій, що і GNU Screen, але поширюється за ліцензією BSD.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.