GNU 화면을 사용하여 프로세스를 실행하는 방법

2656 단어 tutorialbash
Screen은 대부분의 Linux 배포판과 Mac에서 사용할 수 있는 GNU 운영 체제의 오래되었지만 여전히 유용한 소프트웨어입니다.

예를 들어, 원격 서버에 SSH로 연결해야 하고 긴 프로세스를 실행해야 하며 연결이 종료될지 걱정할 필요가 없는 경우 화면에서 프로세스를 실행하면 백그라운드에서 프로세스가 실행됩니다. 연결이 끊어져도 계속 작동합니다. 화면에 다시 연결하면 종료했을 때의 세션 상태가 그대로 유지됩니다.

단계
screen
sh@SH-MacBook-Pro tutorial % screen


여기에 시작 메시지가 표시되어야 합니다. Enter 키를 눌러 지나갈 수 있습니다.

이제 스크린 세션에 '연결'되었습니다. 연결된 것을 확인하려면 screen -ls를 실행하여 화면 목록과 해당 상태를 볼 수 있습니다.

sh@SH-MacBook-Pro tutorial % screen -ls
There are screens on:
        69475.ttys010.SH-MacBook-Pro      (Attached)
1 Socket in /var/folders/vw/865hm_fd2pj87qtwf_5n329m0000gn/T/.screen.


연결되어 있는 동안 스크립트를 실행하여 수행 중인 모든 작업을 처리하도록 할 수 있습니다.

sh@SH-MacBook-Pro tutorial % python somescript.py
             >> This is some logging being produced by
             >> a script that you're running


프로세스가 출력을 생성할 때 Ctrl+c 를 누르는 대신 Ctrl + a + d 를 눌러 화면에서 "분리"할 수 있습니다. 프로세스는 여전히 연결된 화면 세션에서 계속 실행됩니다. 이제 일반 터미널로 돌아가고 방금 화면에서 분리되었다는 로그가 표시됩니다.

[detached]
sh@SH-MacBook-Pro tutorial %


여기에서 다시 screen -ls를 실행하면 분리된 활성 화면이 있음을 알 수 있습니다.

sh@SH-MacBook-Pro tutorial % screen -ls
There is a screen on:
    68979.ttys002.SH-MacBook-Pro    (Detached)
1 Socket in /var/folders/vw/865hm_fd2pj87qtwf_5n329m0000gn/T/.screen.


화면에 다시 연결하려면 screen -r를 실행할 수 있습니다. 활성 화면이 하나만 있는 경우 screen -r 를 실행할 수 있습니다. 선택할 수 있는 활성 화면이 여러 개인 경우 화면 ID(이 경우 68979)로 실행screen -r합니다.

sh@SH-MacBook-Pro tutorial % screen -r 68979


이렇게 하면 이전에 만든 스크린 세션으로 이동합니다.

sh@SH-MacBook-Pro tutorial % python somescript.py
             >> This is some logging being produced by
             >> a script that you're running
             >> More stuff was logged since we last checked


화면을 종료하려면 Ctrl + d가 세션을 종료합니다. 이렇게 하면 현재 screen 세션이 종료되고 다시 연결할 수 없습니다.

스크롤링



화면 세션 내에서 마우스로 터미널 창을 위로 스크롤하면 평소와 같이 작동하지 않습니다.

"스크롤백"모드를 입력하여 연결된 화면을 위로 스크롤합니다.
Ctrl + a + Escape는 스크롤백 모드로 들어갑니다. 여기에 들어가면 화살표 키를 사용하여 실제로 화면 로그 기록으로 이동할 수 있습니다. 마우스가 여전히 작동하지 않습니다. 죄송합니다.

좋은 웹페이지 즐겨찾기