Execução de comandos no Putty sem medo de perder a conexão

11

Como você usa o comando "screen" efetivamente?
É:

  1. Digite "tela"

  2. Digite o comando

  3. Perder conexão

  4. Verifique novamente a sessão perdida

Como faço o passo 4?

    
por quack quixote 18.08.2009 / 00:52

9 respostas

16

Com a tela:

  1. screen
  2. digite command
  3. Ctrl - A - D para desconectar da tela
  4. logoff da sessão
  5. screen -RD para reconectar a tela (se houver mais de um, você obterá uma lista das sessões de tela atuais e terá que fornecer o número da sessão) de uma nova sessão

Um método mais simples que é útil para comandos que deixam arquivos de log ou apenas lançam alguma saída relevante e não precisam de interatividade é nohup :

  1. nohup command > logfile &
  2. Fazer logoff da sessão
  3. tail -f logfile de uma nova sessão
por 18.08.2009 / 01:04
4

A tela é realmente poderosa e permite que você faça exatamente o que você pediu.

Para ver todas as suas sessões, digite

screen -list

Depois de identificar uma sessão de tela para reconectar também, tente

screen -dr SCREENID

que irá separar e anexar novamente a sua sessão.

Você também pode fazer um pouco menos legal,

screen -D -R

que desanexará e efetuará logout remotamente, se não for necessário, em seguida, será reconectado ou, se essa sessão não existir, será criada e notificada ao usuário. Você pode adicionar um "-t NAME" para dar um título aos shells ou programas.

Dentro da tela, use

command-c

para criar uma nova janela (para que você não precise de 4000000 sessões de tela para desconectar e reconectar) e altere entre elas com

command-int

Indexando de 0, claro: P

Como você parece um pouco não familiarizado com a tela, presumo que poderia usar outras informações. Eu gosto dos seguintes comandos, como:

-e xy

O que faz com que x seja o caractere de comando e y seja o caractere para gerar um caractere de comando literal. Os padrões são Ctrl-a e 'a.

Há mais para você aqui: Tela! É o que é para programadores

    
por 18.08.2009 / 01:09
2

screen -dr para desanexar e retomar a sessão de tela anterior.

    
por 18.08.2009 / 00:54
2

Aqui está o que eu aprendi sobre o uso da tela (que eu também comecei a fazer):

  • screen -S <name> cria uma tela chamada '< name >'. Isso é bastante útil se você quiser ter várias sessões de tela ao mesmo tempo. Por exemplo, tenho uma que uso normalmente e uma que uso em meus processos persistentes.
  • screen -ls lista as telas de exibição.
  • screen -r <name> retoma uma tela desanexada. Se a tela já estiver anexada em algum lugar, use screen -dr <name> .

Além disso, quando você começar a usar a tela, sempre que planejar sair, pressione ^a d (= ctrl-a seguido por d ) para destacar a tela está em execução no momento. Pode então ser retomado mais tarde.

Além disso, recomendo ver ^a ? para obter uma lista dos diferentes comandos que você pode usar dentro de uma tela.

Os mais importantes (para mim) são:

  • ^a c para criar uma nova janela na sua sessão de tela.
  • ^a ^a para alternar entre as duas últimas janelas usadas.
  • ^a " para listar as janelas atuais em sua sessão.
  • ^a Esc para rolar no buffer de tela.
  • ^a k para matar a janela atual.
  • ^a x para bloquear sua sessão de tela, caso você precise sair do seu computador e não quiser que as pessoas mexam nele.
por 18.08.2009 / 01:04
1

Uma rápida pesquisa no Google encontrou este guia de tela

link

Assim, a partir do passo b) você pode separar a tela usando:

"Ctrl - A" "d"

e mais tarde, depois que a conexão foi perdida e o seu conectado, mais uma vez, encontra a tela usando:

# screen -ls

e, em seguida, reconecte usando:

# screen -r <screen_session_name>

    
por 18.08.2009 / 01:03
1

você também pode configurar seu ambiente para fazer o login e iniciar a tela imediatamente. Existem várias maneiras de fazer isso. Eu escolhi adicionar isso ao meu arquivo .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 ${SCREENLIST}"
  else
    screen -U -R
  fi
fi
    
por 18.08.2009 / 01:30
0

Você estaria procurando

screen -x
    
por 18.08.2009 / 00:54
0

O passo 4 é "screen -r"

Se você foi desconectado com muita força, talvez seja necessário fazer "screen -r -d" para forçá-lo a se desconectar de sua sessão ssh antiga, que ele acha que ainda está aberta.

    
por 10.10.2012 / 05:36
0
 For windows system

 Open putty 
 then login in server

Se você quiser ver a tela no console, então você tem que escrever o comando

 Screen -ls

se você tiver que acessar a tela, então você tem que usar o comando abaixo

 screen -x screen id
    
por 22.11.2013 / 11:50