your programing

분리 된 화면 세션 종료

lovepro 2020. 9. 28. 09:52
반응형

분리 된 화면 세션 종료 [닫힘]


분리 된 화면이

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 세션 내에서 응답하지 않는 분리 된 세션을 종료 할 수 있습니다.

  1. screen -list분리 된 화면 세션을 식별하려면 입력 하십시오.

    ~ $ 화면 목록  
        다음과 같은 화면이 있습니다.  
             20751. Melvin_Peter_V42 (분리형)  
    

    참고 : 20751.Melvin_Peter_V42세션 ID입니다.

  2. 분리 된 화면 세션에 연결

    화면 -r 20751.Melvin_Peter_V42
  3. 세션에 연결되면 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.

그리고 그것을 제거하십시오.

  1. cd / tmp / uscreens / S-xxx
  2. ls
  3. 26727.pts-0.devxxx
  4. rm 26727.pts-0.devxxx
  5. ls

uscreens디렉토리는 필요가 없습니다 26727.pts-0.devxxx더 이상 거기에 파일을. 이제 다음을 입력하십시오.

screen -ls

그리고 당신은 얻어야합니다 :

/ tmp / uscreens / S-xxx에 소켓이 없습니다.


screen -wipe

모든 죽은 화면 세션을 정리해야 합니다.


이것을 추가하십시오 ~/.bashrc:

alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"

그런 다음 cleanscreen모든 화면 세션을 청소 하는 사용 합니다.


나를 위해 간단한

exit

공장. 이것은 스크린 세션 내에서 가져온 것입니다.


분리 된 모든 화면 세션 을 종료하려면 .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.

Alternatively, while in your screen session all you have to do is type exit

This will kill the shell session initiated by the screen, which effectively terminates the screen session you are on.

No need to bother with screen session id, etc.

참고URL : https://stackoverflow.com/questions/1509677/kill-detached-screen-session

반응형