[linux] 분리 된 스크린 세션 종료 [닫기]

어딘가에서 분리 된 스크린이

screen -X -S [session # you want to kill] kill

어디에서 [세션 번호를 죽이고 싶습니까?]

screen -ls

그러나 이것은 작동하지 않습니다. 뭐 잘못 됐어? 올바른 방법은 무엇입니까?



답변

“kill”은 하나의 화면 창만 종료합니다. 전체 세션을 “kill”하려면을 사용하십시오 quit.

$ screen -X -S [session # you want to kill] quit

죽은 세션의 경우 $ screen -wipe를 사용하십시오.


답변

다음을 수행하여 스크린 세션 내에서 응답하지 않는 분리 된 세션을 종료 할 수 있습니다.

  1. screen -list분리 된 스크린 세션을 식별하기 위해 입력 하십시오.

    ~ $ 화면-목록
        화면이 있습니다 :
             20751. 멜빈 _ 피터 _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모든 화면 세션을 청소 하는 데 사용하십시오 .