[배포, AWS] 무중단 서비스(nohup)

김우진·2022년 7월 22일
0

배포 및 유지보수

목록 보기
2/2

들어가기 전

nohup이란?

리눅스, 유닉스에서 쉘 스크립트파일 (*.sh)을 데몬형태로 실행시키는 프로그램
터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함

☝ 데몬이란?

멀티태스킹 운영 체제에서 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램.

일반적으로 데몬이라는 표시를 위해 뒤에는 d가 붙는다.

이러한 속성 때문에 강의에서 git bash 프로그램을 꺼도(ubuntu 서버와 내 local의 연결이 끊어져도) 내 홈페이지가 여전히 실행 될 수 있는 것 같다.

&이란?

추가적으로 조사하다가 nohup python app.py & 명령어에서 & 는 nohup의 한 부분이 아니라 독립적인 명령어 라는 것을 알게되었다.

&는 프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어이다.

요즘은 & 명령어 만으로도 nohup과 같은 동작을 보이는 경우도 많다고 한다.

nohup을 이용한 배포

nohup (각 언어 실행 명령어) (파일명)

ex)

  • nohup python app.py &
  • nohup java -jar {jar 파일명} &

참고로 nohup를 이용해 실행한 뒤의 log를 확인하고 싶은 경우 nohup.out 파일을 통해 보면된다.

종료방법

  1. ps -ef | grep 파일명으로 백그라운드로 실행중인 프로그램을 찾는다.
  2. kill -9 PID번호 로 해당 프로세스를 종료한다.

0개의 댓글