Eu acidentalmente criei mais de 1000 telas. Como eu mato todos eles com um comando? (Ou alguns)
linux
bash
gnu-screen
kill
BrainStone
fonte
fonte
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
screen -ls | grep "<name>" | cut -d. -f1 | tr --delete "\t" | xargs kill -9; screen -wipe; screen -ls;
Respostas:
Você pode usar :
Ou
No OSX, o processo é chamado de TELA em todas as maiúsculas. Então, use:
Ou
fonte
Top
Se as telas estiverem inoperantes, use:
fonte
fonte
Recentemente, comecei a me familiarizar com o awk. Eu juntei isso e ele serviu ao seu propósito. Eu postei, pois é muito fácil de entender.
screen -ls | grep '(Detached)' | awk 'sys {screen -S $1 -X quit}'
Onde
screen -ls
lista todas as telas atuais.grep 'pattern'
filtra todas as linhas correspondentes. Podemos então obter um identificador para todas as telas desanexadas e, comawk sys {command}
isso, podemos copiar e colar um comando e executá-lo comsys
,$1
refere-se ao primeiro argumento escolhido pelo awk. Finalmente, executamos o comando quit comscreen -X quit
.fonte
screen -ls | grep '(Detached)' | awk '{print $1}' | xargs -I % -t screen -X -S % quit
funcionou melhor para mim.Estou um pouco confuso sobre como você conseguiu criar 1000 "telas". Você talvez quis dizer 1000 janelas de tela (1000 janelas de terminal diferentes em uma única sessão de tela)?
Se você quisesse 1000 janelas em uma sessão de tela única, uma solução mais elegante seria sair da tela usando o comando
C-a \
(ctrl-a seguido por \).fonte
screen -m sleep 100000
. Isso aconteceu e eu não percebi até que ele já tivesse criado mais de 1000 sessões de tela.O comando a seguir encerrará todas as telas inativas:
fonte
fonte