Quando eu uso o comando screen
, normalmente eu abro o soquete assim:
$ screen -S <SOCKET_NAME>
e quando quero anexar ou reconectar, uso:
$ screen -x <SOCKET_NAME>
Normalmente, faço login na minha caixa do Linux no meu laptop Windows usando o PuTTY e exibo a tela lá. Quando meus senhores corporativos decidiram atualizar meu laptop para o Windows 7, minhas sessões PuTTY foram congeladas. Eu normalmente mato a sessão do PuTTY e depois reconecto a sessão da tela (se ela estiver desconectada) ou emito um "-d -r" se a sessão da tela não se soltar quando minha sessão do PuTTY congelou.
Meu problema é que eu tenho uma sessão de tela que, no começo, se recusou a separar. Eu usaria:
screen -d -r 6313.sessionName
mas o comando apenas ficava pendurado lá.
Descobri que no diretório / var / run / screen // havia "arquivos" correspondentes a cada uma das minhas sessões de tela. Notei que o teimoso tinha 700 permissões enquanto os outros (que estavam separados) tinham 600 permissões.
Por isso, alterei as permissões desse arquivo para 600. A tela agora o lista como "desanexado". No entanto, quando tento voltar a ligá-lo, o comando, mais uma vez, fica pendurado.
Usando
ps aux | grep 6313
mostra o estado do processo como "Ss", o que significa que ele está em um estado de suspensão interrompível. Isso não é diferente de nenhuma das outras sessões de tela desanexadas que mostram o mesmo status do processo.
Não sei como recuperar esta sessão. Alguma sugestão?
Quando eu uso o comando screen
, normalmente eu abro o soquete assim:
$ screen -S <SOCKET_NAME>
e quando quero anexar ou reconectar, uso:
$ screen -x <SOCKET_NAME>
Para desanexar uma sessão de tela, você deve usar Ctrl + A + D . Em seguida, para reconectar a sessão, use screen -r <pid>
. Se você quiser se conectar a uma sessão de tela que está em uso, use screen -dr <pid>
para desanexar primeiro e, em seguida, reconecte a sessão de tela.
Tags gnu-screen