Я довольно плохо знаком с человечностью, и я должен сделать что-то, но я не знаю как.
Давайте предположим, что я хочу соединиться с сервером, запустите большую компиляцию (часы), и я не хочу связываться с сервером, в то время как он компилирует.
Теперь, если я разъединяюсь и соединяюсь снова, я не вижу вывода компиляции (я предполагаю, что соединение создает новую сессию),
Существует ли способ соединить, запустить что-то, разъединение и когда соединение снова возобновляет предыдущее соединение, таким образом, я вижу весь вывод к консоли, которая была сделана до сих пор? (Как то, если я делаю удаленный рабочий стол, но в ssh),
Спасибо
Править:
На самом деле я интересуюсь восстановлением консольной сессии. Предположите, что компиляция или любая другая вещь, которую я мог бы выполнять в какой-то момент, спрашивают ввод данных пользователем для продолжения.
Игрушечный пример:
1) Я соединяюсь ssh
2) Я работаю sudo apt-get dist-upgrade
3) Это попросит, чтобы я подтверждение обновил (я знаю, что могу передать некоторые флаги для предотвращения подтверждения, но я не хочу к),
4) Я разъединяюсь
5) Я соединяюсь снова, и я хочу смочь видеть историю и консоль, прося, чтобы я подтверждение обновил
6) Я подтверждаю, чтобы обновить и разъединиться снова.
Вы хотите персистентный оконечный мультиплексор, такой как tmux или экран .
GNU, Они позволяют Вам открывать одну или несколько сессий оболочки в рамках единственного соединения; отсоединение от них (или сознательно, говорят в конце Вашего рабочего дня, или неумышленно, как из-за сетевых проблем), и позже снова соединитесь с той же сессией (сессиями) оболочки.
существует много подкоманд и возможных настроек, но типичное использование было бы как
$ tmux /* starts new shell, with tmux status bar at the bottom of terminal window */
$ /* do stuff */
$ Ctrl-b d /* key escape sequence to detach from tmux session */
$ exit
/* ... time passes; much later you ssh back in ... */
$ tmux attach
/* and you're back on the session you detached from */
Как дополнительное примечание, в то время как я предоставил ссылки на веб-страницы проекта, обе опции упаковываются для человечности и могут быть установлены через sudo apt install
, если не уже установленный на том, какой бы ни версия ОС Вы работаете.
Можно запустить команду как
nohup <your command> &
, Это не только отсоединит процесс от оболочки ssh (иначе, процесс будет уничтожен после выхода из системы), но также и создает файл, названный nohup.out, который содержит весь вывод процесса.