[Linux] screen 명령어로 백그라운드 프로세스 띄우기

2020. 7. 13. 17:54Computer Science/Backend

screen은 서비스를 데몬으로 동작시킬 수 있게 해주는 명령어다. 데몬이란 리눅스 시스템이 가동될 때 실행되는 백그라운드 프로세스의 일종이다. 

 

A daemon is a long-running background process that answers for services. The term originated with Unix, but most operating systems use daemons in some form or another. In Unix, the names of daemons conventionally end in "d". Some examples include inetd, httpd, nfsd, named, and lpd.

ㅡ 인디아나 주립대학교 날리지베이스에 정의된 daemon in Unix

 

# 세션 리스트와 상태 확인
screen -ls

# -S 옵션으로 세션을 생성한다
# 예시에서는 test라는 이름의 세션을 생성한다
screen -S test

# 생성된 세션에 -r 옵션으로 스크린에 접속(Attached) 한다
screen -r test

위 과정을 통해 원하는 세션 스크린에 접속한 뒤 원하는 서비스를 작동시킨다. 스프링 프로젝트 같은 경우 jar 파일을 실행시켜주면 되고, 장고 프로젝트 같은 경우 python manage.py runserver 해주면 되겠다.

 

# Attached 세션에서 빠져나가기(Detach)
ctrl+a, d