프로세스 백그라운드 실행시키기 및 세션유지

u·2022년 8월 27일
0

Aws & Server

목록 보기
17/18

세션이란?

네이버
1. 망 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결
2. 프로세스들 사이에서 통신을 하기 위해 메시지 교환을 통해 서로를 인식한 이후부터 통신을 마칠 때 까지의 기간

쉽게 설명하자면 두 노드가 일정시간 동안 연결되어 있는 단위를 하나의 세션이라 볼 수 있다.

백그라운드 실행

리눅스에서 서비스의 요청에 대해 응답하기 위해 오랫동안 백그라운드로 실행되는 프로세스를 데몬(Daemon)이라고 부른다.

웹서버를 실행시킬 때 백그라운드에서 실행을 시켜야 서버에서 로그를 보는 것 이외의 행위를 할 수 있다.

  • java -jar server.jar &
    위의 명령어처럼 &를 뒤에 붙이면 백그라운드에서 실행이 가능하다.

세션 종료 후에도 서버 실행

웹서버를 백그라운드로 실행하고 있더라도 ssh로 연결된 상태에서 세션을 끊으면 웹서버가 종료된다. 이를 방지하기 위해 nohup(No Hangup) 명령어를 웹섭버를 실행시키면 세션이 종료되어도 웹서버가 종료되지 않는다.

  • nohup java -jar server.jar &

로그출력파일 정하기

웹서버가 백그라운드에서 실행되기에 로그를 통해 오류를 확인할 수 없게된다.
따라서 아래와 같이 로그를 남겨둘 파일을 정해 출력할 수 있다.

표준출려과 표준에러를 나눠서 서로 다른 파일에 출력할 수 있다.

nohup java -jar server.jar > my_log.out &

출처 : https://joonyon.tistory.com/98

0개의 댓글