나는 분리 된 화면이 어딘가에서 배울 수 있다고 배웠다.
screen -X -S [session # you want to kill] kill
[세션 # 당신이 죽이고 싶어] 어디에서 얻을 수 있습니다
screen -ls
그러나 이것은 효과가 없습니다. 뭐가 잘못 됐니? 올바른 방법은 무엇입니까?
"kill"은 하나의 화면 창만 죽일 것입니다. 전체 세션을 "종료"하려면 quit
을 사용하십시오.
$ screen -X -S [session # you want to kill] quit
데드 세션의 경우 다음을 사용하십시오. $ screen -wipe
다음을 수행하여 화면 세션에서 응답하지 않는 분리 된 세션을 종료 할 수 있습니다.
분리 된 화면 세션을 식별하려면 screen -list
를 입력하십시오.
~ $ screen -list 화면이 있습니다 : 20751.Melvin_Peter_V42 (분리)
참고 : 20751.Melvin_Peter_V42
는 세션 ID입니다.
분리 된 화면 세션에 연결
화면 -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
ls
uscreens
디렉토리에는 더 이상 26727.pts-0.devxxx
파일이 없습니다. 이제 다음과 같이 입력하면됩니다.
screen -ls
그리고 당신은 다음을 얻어야합니다.
/ tmp/uscreens/S-xxx에 소켓이 없습니다.
screen -wipe
모든 dead screen 세션을 정리해야합니다.
~/.bashrc
에 다음을 추가하십시오 :
alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"
그런 다음 cleanscreen
을 사용하여 모든 화면 세션을 지 웁니다.
나를 위해 간단한
exit
공장. 이것은 화면 세션에서 온 것입니다.
all detached 스크린 세션을 죽이려면,이 함수를 .bash_profile에 포함 시키십시오 :
killd () {
for session in $(screen -ls | grep -o '[0-9]\{5\}')
do
screen -S "${session}" -X quit;
done
}
실행하려면 killd
을 호출하십시오.
== ISSUE THIS COMMAND
[[email protected] ~]$ 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
[[email protected] ~]$ screen -X -S 23487.pts-0.devxxx kill
== WANT PROOF?
[[email protected] ~]$ screen -ls
There is a screen on:
26727.pts-0.devxxx (Attached)
1 Socket in /tmp/uscreens/S-xxx.
또는 화면 세션에서 exit 를 입력하면됩니다.
이렇게하면 화면에 의해 시작된 쉘 세션이 종료되어 화면 세션이 종료됩니다.
화면 세션 ID 등을 신경 쓰지 않아도됩니다.