Não é possível obter a tela desanexada para continuar

11

Eu uso massa e tenho uma conexão sem fio não confiável, então eu uso a tela para manter meu trabalho funcionando. Muitas vezes, eu me desconecto e não consigo recolocar minha tela. Eu vou rodar screen -D -RR e ele ficará lá indefinidamente. Eu tentei ctrl + z para recuperar meu console, seguido por ps aux | grep screen e, em seguida, kill -9 para todos os resultados e, em seguida, screen -D -RR , mas obtive os mesmos resultados. Eu tento qualquer combinação de d's e rs que você queira mencionar, mas ainda assim fica lá. Minha tela está lá, só não vai fazer nada, muito menos continuar.

Alguém tem alguma dica ou truque ou ideia de como retomar minha sessão na tela?

    
por Dave Aaron Smith 31.12.2009 / 18:53

8 respostas

15

Eu vi isso quando deixo cair uma conexão em uma tela ativa e reconecto. Bug # 27462 ("Reconnect stalls quando a sessão original é perdida") descreve o problema como eu o vejo. O que parece acontecer é que a tela está tentando notificar o tty que o segura que está prestes a sair, mas como o tty está travado devido a uma conexão perdida, ele tem que esperar que o tempo limite ocorra (que é de mais de cinco minutos). em alguns casos).

Para corrigir isso, eu faço isso:

  • descobrir qual tty está segurando na sessão de tela ps -ef | grep screen | grep pty
  • encontre o bash de login associado a esse tty ps -ef | grep bash | grep $PTY
  • mate esse bash kill -KILL $PID

Isso faz com que a tela complete sua desconexão corretamente e permite que você se reconecte normalmente.

Veja aqui um exemplo de script que automatiza isso.

    
por 31.12.2009 / 19:11
2

Eu tive um problema semelhante com minhas sessões de tela. Eu nomeio-os e configuro-os como sessões multiusuário. O que eu encontrei foi que estava listando minhas sessões, mas me dizendo que eu não tinha nenhuma para se reconectar. Então eu tentei:

screen -x <session_name>

Funcionou como um campeão!

    
por 21.05.2012 / 20:01
1

Eu não posso dizer que já tive um problema com a tela não voltar, não importa em que tipo de conexão eu esteja. Meu método usual:

ssh myname@foo
screen -S sessionName
(do my work... get disconnected...)

ssh myname@foo
screen -d (just to make sure anything wasn't left attached)
screen -r sessionName
    
por 19.01.2010 / 19:07
0

É possível que esse bug esteja afetando você?

link

Você pode tentar fazer a solução recomendada e ver se funciona?

    
por 31.12.2009 / 19:00
0

Soulrce: link

To see your existing screen sessions, enter:
  screen -list
This will display a list of your current screen sessions. For instance, if you had one attached screen, you would see:

         1636.pts-21.hostname      (Attached)

To detach an attached screen, enter:
  screen -D
If you have more than one attached screen, you can specify a particular screen to detach. For example, to detach the screen in the above example, you would enter:
  screen -D 1636.pts-21.hostname
    
por 23.02.2014 / 12:46
0

Se você é esperto como eu, estava tentando retomar uma sessão de tela iniciada como root com a conta de usuário comum. Descobri isso com ls /var/run/screen mostrando-me um diretório para root

    
por 23.11.2015 / 03:44
0

Ocasionalmente, tenho o mesmo problema (tela -r -d não retomada, não responsiva). Para corrigir, encontre o terminal (tty / pty) associado à sessão de tela:

screen -list
There is a screen on:
    28176.pts-51.localhost        (Attached)
1 Socket in /tmp/uscreens/S-xxxx.

Encontre o terminal listado (neste exemplo pts-51):

ps axuw | grep 'pts/51'   # will vary depending upon how pty's are named
you     12293  0.0  0.2  2148 1128 pts/51   Ss   10:34   0:00 -bash

Mate os processos nesse terminal (geralmente seu shell):

kill 12293

execute ps novamente para ter certeza de que desapareceu. Se não:

kill -9 12293

No meu servidor (gnu / linux), às vezes tenho que matar -9 várias vezes até que ele morra.

Depois que todos os processos nesse tty desaparecerem, a tela deverá ser retomada corretamente:

screen -r -d
    
por 27.07.2018 / 21:09
-1

Remover telas mortas com screen -wipe .

    
por 03.05.2012 / 19:19