Primeiro, você precisa se conectar novamente à sessão de tela de screen -r 23520
como você fez. Então pressione ctrl + a e então um K e pressione y quando ele perguntar se você realmente quer matar a sessão
Estou tentando matar uma sessão de tela. Eu notei muitas outras questões relacionadas, mas nenhuma dessas respostas está funcionando para mim. Eu estou tentando matar a seguinte sessão:
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -r 23520.pts-6.porkypig
Agora estou na sessão. Segundo a documentação:
Eu devo pressionar "control a" e depois "control \". Eu faço isso e nada acontece.
Outra solução dizia para pressionar Ctrl + ae digitar: quit. No entanto, mais uma vez, não faz nada. Na verdade, pressionando o controle + a, absolutamente nada acontece depois, exceto uma mensagem "Nenhuma outra janela"
Primeiro, você precisa se conectar novamente à sessão de tela de screen -r 23520
como você fez. Então pressione ctrl + a e então um K e pressione y quando ele perguntar se você realmente quer matar a sessão
Você pode sair dessa tela sem se conectar a ela. Primeiro, encontre sua sessão e, em seguida, saia dela:
$ screen -ls
$ screen -X -S [session # you want to kill] quit
Isso matará todas as telas desanexadas:
screen -ls | grep detached | cut -d. -f1 | awk '{print }' | xargs kill
Isso matará todas as telas anexadas ou desanexadas
screen -ls | grep pts | cut -d. -f1 | awk '{print }' | xargs kill
Então, com todas essas sugestões oficiais, vamos apenas escolher algo mais fácil, mais eficaz e mais direto.
pkill screen
Quem quer entrar em uma tela desconhecida e desnecessária apenas para pressionar alguns comandos que a maioria mal consegue lembrar? Isso evita entrar em tudo e mata diretamente.
Além disso, se você tiver mais de um, isso os levará todos de uma só vez.
Encontrei esse problema ao atualizar a tela. O comando screen
seria interrompido ao tentar reconectar a sessão, independentemente de quantos -D
ou -R
I foram adicionados ao comando. No entanto, screen -ls
fornece convenientemente o pid da sessão, permitindo que você intervenha usando o seguinte:
10:42 user ~ $ screen -ls
There is a screen on:
5730.my_screen (Detached)
1 Socket in /tmp/screens/S-user.
10:42 user ~ $ sudo kill 5730
10:43 user ~ $ screen -ls
No Sockets found in /tmp/screens/S-user.
(Isso é semelhante à resposta de Brian Thomas, mas ele matará todas as sessões da tela em execução, o que pode não ser o que você deseja se você tiver várias telas abertas, mas apenas uma se comportando mal.)
Como você, eu queria matar minha sessão de tela e achei a documentação inútil. Convencido de que <<> deve ser um atalho de teclado, descobri que ctrl + a
then \
trabalha
Eu então recebo o prompt: "Realmente saia e mate todas as suas janelas [y \ n]"
Não sei por que a documentação diz ctrl + a
then ctrl + \
. Isso não faz nada por mim.
Basta pressionar Ctrl + D e terminar.
Tags gnu-screen