Executando comandos no Putty sem medo de perder a conexão

13

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

  1. Digite "tela"

  2. Digite o comando

  3. Perder conexão

  4. Volte à sessão perdida

Como faço para executar a etapa 4?

charlatão quixote
fonte

Respostas:

18

Com tela:

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

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

  1. nohup command > logfile &
  2. Logoff da sessão
  3. tail -f logfile de uma nova sessão
Vinko Vrsalovic
fonte
Nota: o passo 3 é totalmente opcional. Se você fechar sua sessão PuTTY sem desanexar, ainda poderá reconectar screen -RD.
Duncan Jones
4

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

Para ver todas as suas sessões, digite

screen -list

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

screen -dr SCREENID

que desanexará e reconectará bem sua sessão.

Você também pode fazer algo menos agradável,

screen -D -R

que será desconectado e desconectado remotamente, se necessário, reconectado ou se essa sessão não existir, ela será criada e notificada ao usuário. Você pode adicionar um "-t NAME" para atribuir um título às conchas 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 alterne entre elas com

command-int

Indexação de 0, é claro: P

Como você parece um pouco familiarizado com a tela, presumo que você possa 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! É para os programadores


fonte
2

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

sepp2k
fonte
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 acontecendo ao mesmo tempo. Por exemplo, eu tenho um que uso normalmente e outro para meus processos persistentes.
  • screen -ls lista as telas em execução.
  • screen -r <name>retoma uma tela desanexada. Se a tela já estiver conectada 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 de d ) para desanexar a tela em execução no momento. Pode então ser retomado mais tarde.

Além disso, posso recomendar ^a ?uma lista dos diferentes comandos que você pode usar enquanto estiver dentro de uma tela.

O mais importante deles (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 da tela.
  • ^a k para matar a janela atual.
  • ^a x para bloquear sua sessão na tela, caso você precise sair do computador e não queira que as pessoas mexam com ela.
Sebastian Paaske Tørholm
fonte
1

você também pode configurar seu ambiente para efetuar 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
cavalo pálido
fonte
0

Você estaria procurando

screen -x
Matthew Scharley
fonte
0

O passo 4 é "screen -r"

Se você foi desconectado com muita força, pode ser necessário "screen -r -d", para forçá-lo a se desconectar da sua antiga sessão ssh, que ela acha que ainda está aberta.

Hugh Perkins
fonte
0
 For windows system

 Open putty 
 then login in server

Se você quiser ver a tela no console, precisará escrever o comando

 Screen -ls

se você precisar acessar a tela, use o comando abaixo

 screen -x screen id
Ankit jain
fonte