Убить сеанс отсоединенного экрана [закрыто]
Я узнал где-то отдельный экран может быть убит
screen-X-S [session # you want to kill] kill
где [сеанс # вы хотите убить] можно получить от
экран -общ. .
но это не сработает. Ничего плохого? Каков правильный путь?
11 ответов:
"убить" убьет только одно окно экрана. Чтобы "убить" весь сеанс, используйте
quit
.пример
$ screen -X -S [session # you want to kill] quit
вы можете убить отсоединенный сеанс, который не отвечает в сеансе экрана, выполнив следующие действия.
тип
screen -list
для идентификации отдельной экранной сессии.~$ screen -list There are screens on: 20751.Melvin_Peter_V42 (Detached)Примечание:
20751.Melvin_Peter_V42
- это идентификатор сессии.прикрепитесь к сеансу отсоединенного экрана
screen -r 20751.Melvin_Peter_V42после подключения к сеансу нажмите Ctrl + A введите
:quit
список экранов:
screen -list
выход:
There is a screen on: 23536.pts-0.wdzee (10/04/2012 08:40:45 AM) (Detached) 1 Socket in /var/run/screen/S-root.
убить сеанс экрана:
screen -S 23536 -X quit
легче убить сеанс, когда дано какое-то осмысленное имя:
//Creation: screen -S some_name proc // Kill detached session screen -S some_name -X quit
вы можете просто перейти к месту, где находится сеанс экрана и запустить:
screen -ls
что приводит к
There is a screen on: 26727.pts-0.devxxx (Attached) 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is.
и просто удалите его:
cd /tmp/uscreens/S-xxx ls 26727.pts-0.devxxx rm 26727.pts-0.devxxx lsThe не будет в нем больше. Теперь, чтобы убедиться, просто введите это:
screen -ls
и вы должны сделать:
сокеты не найдены в /tmp/uscreens / S-xxx.
добавьте это в ваш
~/.bashrc
:alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print }'| xargs -I{} screen -S {} -X quit"
затем использовать
cleanscreen
для очистки всех сеансов экрана.
убивать все отсоединенные сеансы экрана, включите эту функцию в свой .файл:
killd () { for session in $(screen -ls | grep -o '[0-9]\{5\}') do screen -S "${session}" -X quit; done }
, чтобы запустить его, называем
killd
== ISSUE THIS COMMAND [xxx@devxxx ~]$ screen -ls == SCREEN RESPONDS There are screens on: 23487.pts-0.devxxx (Detached) 26727.pts-0.devxxx (Attached) 2 Sockets in /tmp/uscreens/S-xxx. == NOW KILL THE ONE YOU DONT WANT [xxx@devxxx ~]$ screen -X -S 23487.pts-0.devxxx kill == WANT PROOF? [xxx@devxxx ~]$ screen -ls There is a screen on: 26727.pts-0.devxxx (Attached) 1 Socket in /tmp/uscreens/S-xxx.