2015-10-09 2 views
0

Я использую свой ноутбук через терминал терминала, чтобы войти в систему на сервере школы, чтобы запустить сеанс Matlab . Сессия займет около 10 часов, и я хочу закрыть свой ноутбук , пойти домой, поужинать и снова подключиться к терминалу оболочки, чтобы проверить ход моей сессии Matlab на .Сохранение сеансов SSH после отключения

От this link Я знаю, что должен использовать nohup nohup, чтобы поддерживать мой терминал в живом состоянии, , но я отвечаю на следующую проблему. Вот скриншот моей оболочки после того, как я начала работы Matlab сессии:

my matlab session

где a = cv000_29590 это реагировать с Matlab. Он должен продолжать работать до cv999999 и принимать около 10 часов.

Проблема в том, что эта оболочка больше не является интерактивной. Я не могу больше вводить команд, то есть у меня нет места для ввода nohup, чтобы сохранить мою сессию SSH .

+2

'GNU Screen 'или' tmux' –

+3

Запустите 'screen', затем запустите свой процесс. Нажмите ctrl + a, ctrl + d, затем выйдите из системы. Позже войдите в систему и введите «screen -r». –

+0

@ ChrisLear awesome !!! Большое спасибо!! – JumpJump

ответ

0

Это действительно не возможно после того, как вы уже начали сеанс. Но для новых сеансов вы можете сделать следующее:

  1. Добавьте следующие строки в верхней части .bash_profile:

    if [ -z "${PS1}" ] ; then 
        return 
    fi 
    
    if [ "${TERM}" != "screen" ] ; then 
        export HOSTNAME 
        exec screen -xRR 
    fi 
    
    function new { 
        u=${1:-$USER} 
        test ${u} = ${USER} && screen -t ${u}@${HOSTNAME} || screen -t ${u}@${HOSTNAME} su --login ${u} 
    } 
    
  2. Помещенный следующее содержание в .screenrc:

    escape ^bb 
    shell -$SHELL 
    termcapinfo xterm [email protected]:[email protected] 
    hardstatus lastline "%-Lw[%n%f %t]%+Lw%<" 
    screen -t ${USER}@${HOSTNAME} 
    

    Эти в основном мои собственные настройки экрана. Наиболее важным из которых является то, что я установил символ выхода экрана в CTRL-b вместо значения по умолчанию CTRL-a, поэтому я все еще могу использовать CTRL-a в bash, чтобы перейти к началу строки.

  3. Используйте CTRL-b c для создания оболочек в новых окнах (или просто введите new в приглашении bash, чтобы использовать эту функцию). И используйте CTRL-b d, чтобы отсоединить сеанс и оставить его включенным. В следующий раз, когда вы войдете в систему, вы будете привязаны к своей сессии, и все будет так, как было. Используйте CTRL-b n для циклического просмотра окон, которые вы создали. Если вы не хотите использовать несколько окон, вам не нужно, просто используйте возможность оставить сеанс работы и снова подключиться позже.

Смежные вопросы