어딘가에서 분리 된 스크린이
screen -X -S [session # you want to kill] kill
어디에서 [세션 번호를 죽이고 싶습니까?]
screen -ls
그러나 이것은 작동하지 않습니다. 뭐 잘못 됐어? 올바른 방법은 무엇입니까?
screen -S sessionname -p 0 -X quit
어딘가에서 분리 된 스크린이
screen -X -S [session # you want to kill] kill
어디에서 [세션 번호를 죽이고 싶습니까?]
screen -ls
그러나 이것은 작동하지 않습니다. 뭐 잘못 됐어? 올바른 방법은 무엇입니까?
screen -S sessionname -p 0 -X quit
답변:
"kill"은 하나의 화면 창만 종료합니다. 전체 세션을 "kill"하려면을 사용하십시오 quit
.
$ screen -X -S [session # you want to kill] quit
죽은 세션의 경우 $ screen -wipe를 사용하십시오.
exit
작동하지만 열린 각 화면에 입력해야합니다. quit
작동하지 않습니다
screen -X quit
에서 터미널에 입력하면 모든 활성 세션이 종료됩니다
다음을 수행하여 스크린 세션 내에서 응답하지 않는 분리 된 세션을 종료 할 수 있습니다.
screen -list
분리 된 스크린 세션을 식별하기 위해 입력 하십시오.
~ $ 화면-목록 화면이 있습니다 : 20751. 멜빈 _ 피터 _V42 (분리)
참고 : 20751.Melvin_Peter_V42
세션 ID입니다.
분리 된 스크린 세션에 연결
화면 -r 20751.Melvin_Peter_V42
세션에 연결되면 Ctrl+ A를 누르고 다음을 입력하십시오.:quit
quit
그리고 :quit
이어질 command not found
내 원격 리눅스 서버 (OS 나 화면 버전 사이 아마 차이는 비난에 있습니다)
exit
작동합니다.
목록 화면 :
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 -S
그렇지 screen -r
않습니까?
스크린 세션이있는 곳으로 가서 실행할 수 있습니다.
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
ls
uscreens
디렉토리는 필요가 없습니다 26727.pts-0.devxxx
더 이상 거기에 파일을. 이제 이것을 입력하십시오 :
screen -ls
그리고 당신은 얻을 것이다 :
/ tmp / uscreens / S-xxx에 소켓이 없습니다.
ps aux | grep screen
pid를 발견하고 kill
그것을 제거하기 위해 a 를 발행 했습니다. 화면에서 실행 한 내용에 따라 정리할 임시 파일과 잠금이있을 수 있습니다.
screen -wipe
죽은 화면 세션을 모두 청소해야 합니다.
이것을 당신의 ~/.bashrc
:에 추가하십시오
alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"
그런 다음 cleanscreen
모든 화면 세션을 청소 하는 데 사용하십시오 .
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
나를 위해 간단한
exit
공장. 이것은 스크린 세션 내에서 이루어집니다.
:quit
분리 된 모든 스크린 세션 을 종료하려면 .bash_profile에이 기능을 포함하십시오.
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.