[우분투 서버 공부] 원격 서버에서 백그라운드로 프로그램 동작하기 - Whitmem
[우분투 서버 공부] 원격 서버에서 백그라운드로 프로그램 동작하기
System
2023-09-21 16:56 게시 a70fc213e20867c8f0eb

0
0
78
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
원격 서버에서 백그라운드로 프로그램 동작하기
이전 게시글에서는 원격 서버에서 포그라운드로 프로그램을 동작하는 방법에 대해 알아보았습니다. 하지만 SSH 에서 프로그램을 실행한 뒤 세션을 닫으면 세션이 만료되면서 실행중인 프로그램도 같이 종료됩니다. 이 문제를 해결하기 위해서 원하는 소프트웨어를 백그라운드에서 실행할 수 있습니다.
백그라운드 장점
백그라운드에서 소프트웨어를 실행하게 되면 원격 세션과의 연결이 끊어져있더라도 원격 서버가 켜져있다면 소프트웨어를 계속 구동할 수 있습니다. 즉 서버가 24시간 동작된다면 소프트웨어도 원격 서버에서 24시간 구동할 수 있으며 클라이언트를 접속 해 놓을 필요가 없습니다.
필요한 경우에만 해당 화면에 접속하여 다시 결과를 확인할 수 있습니다.
Screen
기본적으로 백그라운드에서 소프트웨어를 동작하기 위해서는 screen이라는 도구를 사용해야 합니다. screen 도구는 원격 우분투 서버에 설치되어 있는 도구이며, 세션을 가상으로 하나더 만들어 백그라운드에서 동작할 수 있도록 도와줍니다. 필요할 땐 화면상에 출력하고, 굳이 화면 출력이 필요 없을 땐 백그라운드에서 동작되도록 함으로써 연결이 끊어져 있더라도 계속 동작되게끔 합니다.
먼저 원격 서버에 접속을 해 보겠습니다.
세션 만들기
먼저 원격에서 사용할 screen 세션을 만들고자 한다면 screen -S 명령어를 사용합니다.
$ screen -S <세션명>
여기서는 work 라는 세션을 하나 만들어보겠습니다.
$ screen -S work
세션의 생성
그러면 이때동안의 화면이 모두 사라지고 새로운 화면으로 전환됨과 동시에 해당 화면으로 진입되었습니다. 다시 이 화면을 나오려면 CTRL + A + D 키를 동시에 눌러봅니다.
다시 되돌아가기
처음 screen -S work 를 치던 화면 모습으로 다시 돌아왔습니다. 즉 다시 원본 세션으로 복귀된 것 입니다. 우리가 만들었던 세션 work 는 사라지지 않고 백그라운드 모드로 전환되기 때문에 아직 여전히 서버에서 살아있는 상태입니다.
세션 목록 확인하기
스크린 목록을 확인하기 위해서 screen -list 명령어를 사용합니다.
$ screen -list
이때동안 생성하고 백그라운드에서 존재하는 스크린의 목록을 확인할 수 있습니다.
스크린 목록
스크린에 다시 접속하기
만들어둔 스크린에 다시 접속해서 백그라운드 모드인 세션을 다시 포그라운드로 가져오기 위해서 screen -R <세션명>을 입력합니다.
$ screen -R <세션명>
아까, 최초로 세션 work를 생성했기 때문에, 다시 이 work에 접속 해 보겠습니다.
다시 세션으로 접속하기
그러면 기존 work 내의 화면이 그대로 다시 포그라운드로 가져왔음을 확인할 수 있습니다.
세션 접속된 모습
활용하기
백그라운드 세션에서 파이썬 프로그램을 실행하고 필요할 때 다시 접속하여 확인해봅시다.
1. 세션을 생성 하기
screen -S work
2. 세션안에서 프로그램 실행하기
python3 hello.py
3. 빠져나오기
현재 동작중인 세션에서 빠져나오기 위해 CTRL + A + D 키를 동시에 누릅니다.
4. 다시 접속하기
필요에 따라 screen -R 명령을 통해 다시 진입합니다.
$ screen -R work
댓글 0개
댓글은 일회용 패스워드가 발급되며 사이트 이용 약관에 동의로 간주됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.