Como você usa o comando "screen" efetivamente?
É isso:
Digite "tela"
Digite o comando
Perder conexão
Volte à sessão perdida
Como faço para executar a etapa 4?
Como você usa o comando "screen" efetivamente?
É isso:
Digite "tela"
Digite o comando
Perder conexão
Volte à sessão perdida
Como faço para executar a etapa 4?
Respostas:
Com tela:
screen
command
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ãoUm 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
:
nohup command > logfile &
tail -f logfile
de uma nova sessãoA 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
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.Uma rápida pesquisa no Google encontrou este guia de tela
http://www.rackaid.com/resources/linux-tutorials/general-tutorials/using-screen/
Portanto, a partir da etapa b) você pode desanexar a tela usando:
"Ctrl - A" "d"
e depois depois que a conexão for perdida e o seu conectado mais uma vez, encontre a tela usando:
# screen -ls
e reconecte usando:
# screen -r <screen_session_name>
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
Você estaria procurando
screen -x
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.
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
screen -RD
.