Запуск команд на Putty без страха потерять связь

46569
quack quixote

Как эффективно использовать команду «экран»?
Это:

  1. Тип "экран"

  2. Введите команду

  3. Потерять связь

  4. Возвращайтесь на потерянную сессию

Как мне выполнить шаг 4?

11

9 ответов на вопрос

16
Vinko Vrsalovic

С экрана:

  1. screen
  2. тип command
  3. Ctrl- A- Dотсоединиться от экрана
  4. выход из сеанса
  5. screen -RD вернуться к экрану (если их несколько, вы получите список текущих сеансов экрана и вам нужно будет указать номер сеанса) из нового сеанса

Более простой метод, который полезен для команд, которые выходят из лог-файлов или просто генерируют какой-либо соответствующий вывод и не нуждаются в интерактивности nohup:

  1. nohup command > logfile &
  2. Выход из сеанса
  3. tail -f logfile из новой сессии
Примечание: шаг 3 не является обязательным. Если вы закроете свой сеанс PuTTY без отсоединения, вы все равно можете присоединить его с помощью `screen -RD`. Duncan Jones 7 лет назад 0
4

Экран действительно мощный, и позволяет делать именно то, что вы просили.

Чтобы увидеть все ваши сессии, введите

screen -list 

После того, как вы определили сеанс экрана для подключения, попробуйте

screen -dr SCREENID 

который приятно отсоединит и повторно присоединит вашу сессию.

Вы также можете сделать менее приятно,

screen -D -R 

который удаленно отсоединится и выйдет из системы, если потребуется, затем подключится заново, или, если этот сеанс не существует, он создаст его и уведомит пользователя. Вы можете добавить «-t NAME», чтобы дать заголовкам или программам название.

На экране используйте

command-c 

создать новое окно (поэтому вам не нужно 4000000 сеансов экрана для отключения и повторного подключения) и переключаться между ними с помощью

command-int 

Индексирование от 0, конечно: P

Поскольку вы, кажется, немного незнакомы с экраном, я предполагаю, что вы могли бы использовать некоторую другую информацию. Мне нравятся следующие команды, например:

-e xy 

Что заставляет x быть символом команды, а y - символом для генерации буквального символа команды. Значения по умолчанию: Ctrl-a и `a.

Здесь есть еще кое-что: Экран! Это то, что для программистов

2
sepp2k

screen -dr отсоединить и возобновить предыдущую сессию экрана.

2
Sebastian Paaske Tørholm

Вот что я понял об использовании экрана (что я тоже только начал делать):

  • screen -S <name>создает экран с именем <имя>. Это очень полезно, если вы хотите, чтобы несколько сеансов экрана происходили одновременно. Например, у меня есть один, который я использую обычно, и один, который я использую для своих постоянных процессов.
  • screen -ls списки запущенных экранов.
  • screen -r <name>возобновляет отдельный экран. Если экран уже где-то прикреплен, используйте screen -dr <name>.

Кроме того, когда вы начинаете использовать экран, всякий раз, когда вы планируете уйти, нажмите ^a d(= ctrl-a, а затем d ), чтобы отсоединить экран, на котором вы в данный момент работаете. Это может быть возобновлено позже.

Кроме того, я могу порекомендовать взглянуть на ^a ?список различных команд, которые вы можете использовать, находясь внутри экрана.

Наиболее важными из них (для меня) являются:

  • ^a c создать новое окно в вашем сеансе экрана.
  • ^a ^a переключаться между двумя последними использованными окнами.
  • ^a " перечислить текущие окна в вашем сеансе.
  • ^a Esc прокрутить экранный буфер.
  • ^a k убить текущее окно.
  • ^a x чтобы заблокировать сеанс экрана, на случай, если вам нужно покинуть компьютер и не хотите, чтобы с ним связывались.
1
lyarwood

Быстрый поиск в Google нашел это руководство

http://www.rackaid.com/resources/linux-tutorials/general-tutorials/using-screen/

Таким образом, на шаге б) вы можете отсоединить экран, используя:

"Ctrl - A" "d"

а затем позже, после того как соединение было потеряно, и ваш подключенный снова находит экран, используя:

# screen -ls

и затем присоедините, используя:

# screen -r <screen_session_name>

1
palehorse

Вы также можете настроить свою среду для входа в систему и запуска экрана сразу. Есть много способов сделать это. Я решил добавить это в мой файл .bashrc.

# screen management if [ $SSH_TTY ] && [ ! $WINDOW ]; then SCREENLIST=`screen -ls | grep 'Attached'` if [ $? -eq "0" ]; then echo -e "Screen is already running and attached:\n $" else screen -U -R fi fi 
0
Matthew Scharley

Вы бы искали

screen -x 
0
Hugh Perkins

Шаг 4 "экран -r"

Если вы действительно сильно отключились, вам может потребоваться выполнить команду «screen -r -d», чтобы заставить его отключиться от старого сеанса ssh, который, по его мнению, все еще открыт.

0
Ankit jain
 For windows system Open putty then login in server 

If you want to see screen in Console then you have to write command

 Screen -ls 

if you have to access the screen then you have to use below command

 screen -x screen id 

Похожие вопросы