Nauczyłem się skądś może zabić odłączony ekran
screen -X -S [session # you want to kill] kill
skąd można uzyskać [sesję #, którą chcesz zabić]
screen -ls
Ale to nie działa. Nic złego? Jaka jest właściwa droga?
linux
kill
gnu-screen
Tim
źródło
źródło
screen -S sessionname -p 0 -X quit
Odpowiedzi:
„kill” zabije tylko jedno okno ekranu. Aby „zabić” całą sesję, użyj
quit
.Przykład
W przypadku martwych sesji użyj: $ screen -wipe
źródło
exit
działa, ale musi być wpisany na każdym ekranie, który został otwarty.quit
nawet nie działascreen -X quit
na dowolnym terminalu kończy wszystkie aktywne sesjeMożesz zabić odłączoną sesję, która nie odpowiada w sesji ekranowej, wykonując następujące czynności.
Wpisz,
screen -list
aby zidentyfikować odłączoną sesję ekranu.Uwaga:
20751.Melvin_Peter_V42
to identyfikator sesji.Dołącz do sesji odłączonego ekranu
Po połączeniu z sesją naciśnij Ctrl+, Aa następnie wpisz
:quit
źródło
quit
i:quit
prowadzić docommand not found
mojej zdalnego serwera Linux (prawdopodobnie różnice między wersjami systemu operacyjnego lub ekran są winni)exit
działa równieżEkrany listy:
Wynik:
Sesja Kill Screen:
źródło
Łatwiej jest zabić sesję, gdy podano jakąś znaczącą nazwę:
źródło
screen -S
niescreen -r
?Możesz po prostu przejść do miejsca, w którym znajduje się sesja ekranowa i uruchomić:
Co skutkuje w
I po prostu go usuń:
uscreens
Katalog nie będzie miał26727.pts-0.devxxx
plik w nim już. Teraz, aby się upewnić, po prostu wpisz:screen -ls
i powinieneś otrzymać:
źródło
ps aux | grep screen
znalazłem pid i wydałem go,kill
aby go usunąć. W zależności od tego, co masz uruchomione na ekranie, możesz również mieć pliki tymczasowe i blokady do czyszczenia.Powinny wyczyścić wszystkie martwe sesje ekranu.
źródło
dodaj to do
~/.bashrc
:Następnie użyj,
cleanscreen
aby wyczyścić całą sesję ekranu.źródło
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
screen -ls | tail +2 | head -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit
Dla mnie proste
Pracuje. To pochodzi z sesji ekranowej.
źródło
:quit
Aby zabić wszystkie odłączone sesje ekranu, włącz tę funkcję w pliku .bash_profile:
aby go uruchomić, zadzwoń
killd
źródło
źródło
Alternatywnie, podczas sesji ekranowej wszystko, co musisz zrobić, to wpisać polecenie exit
To zabije sesję powłoki zainicjowaną przez ekran, co skutecznie zakończy sesję ekranu, w której się znajdujesz.
Nie musisz przejmować się identyfikatorem sesji ekranu itp.
źródło