Estou tentando matar uma sessão de tela. Notei muitas outras questões relacionadas, mas nenhuma dessas respostas está funcionando para mim. 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. De acordo com a documentação:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Eu devo pressionar "control a" e depois "control". Eu faço isso e nada acontece.
Outra solução dizia pressionar Ctrl+ ae digitar: sair. No entanto, novamente, ele não faz nada. De fato, pressionando control+ a, absolutamente nada acontece depois, exceto a mensagem "Nenhuma outra janela"
gnu-screen
JohnMerlino
fonte
fonte
ps aux | grep "SCREEN" | awk '{print $2}' | xargs kill
screen -r porkypig
ouscreen -r 23520
, em vez de precisar incluir a sequência completa. Os nomes de tela devem facilitar as coisas, não são mais complicados.Respostas:
primeiro, é necessário anexar novamente à sessão da tela
screen -r 23520
como você fez. Em seguida, pressione ctrl+ ae, em seguida, uma capital Ke pressione yquando for perguntado se você realmente deseja interromper a sessãofonte
Você pode sair dessa tela sem anexá-la. Primeiro, encontre sua sessão:
e então saia:
(-X = Executar comando, -S sessão PID para executar)
[ATUALIZAR]
Exemplo:
fonte
Isso matará todas as telas desanexadas:
Isso matará todas as telas, conectadas ou desanexadas
fonte
Portanto, com todas essas sugestões oficiais, vamos procurar algo mais fácil, eficaz e mais simples.
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 nele e o mata imediatamente.
Além disso, se você tiver mais de um, isso levará todos de uma só vez.
fonte
Encontrei esse problema ao atualizar a tela. O
screen
comando iria pendurar ao tentar reatar a sessão, independentemente de quantos-D
ou-R
I adicionado ao comando. No entanto,screen -ls
fornece convenientemente o pid da sessão, permitindo que você intervenha usando o seguinte:(Isso é semelhante à resposta de Brian Thomas, mas a dele matará todas as sessões de 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 comportar mal.)
fonte
Como você, eu queria matar minha sessão na tela e achei a documentação inútil. Convencido de que não deve ser um atalho de teclado, descobri que
ctrl + a
, em seguida,\
obras
Eu recebo o prompt: "Realmente feche e mate todas as suas janelas [y \ n]"
Não sei por que a documentação diz
ctrl + a
entãoctrl + \
. Isso não faz nada por mim.fonte
Você pode encontrar o ID do processo da tela em execução anexada. Eu achei o mesmo que o ID da sessão, que você pode obter por comando:
screen -ls
E você pode usar o seguinte comando para matar esse processo:
kill [sessionId]
ousudo kill [sessionId]
Você pode matar a tela, mesmo que ela esteja anexada em outra janela do terminal.
fonte
Pressione ctrl + d para matar a janela da tela. Repita isso até matar todas as janelas da tela. Uma vez que você esgotou todas as telas do Windows, a sessão será finalizada. Solução mais curta se você não tiver muitas janelas
fonte