리눅스, 유닉스에서 쉘 스크립트파일 (*.sh)을 데몬형태로 실행시키는 프로그램
터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함
멀티태스킹 운영 체제에서 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램.
일반적으로 데몬이라는 표시를 위해 뒤에는 d가 붙는다.
이러한 속성 때문에 강의에서 git bash 프로그램을 꺼도(ubuntu 서버와 내 local의 연결이 끊어져도) 내 홈페이지가 여전히 실행 될 수 있는 것 같다.
추가적으로 조사하다가 nohup python app.py &
명령어에서 &
는 nohup의 한 부분이 아니라 독립적인 명령어 라는 것을 알게되었다.
&는 프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어이다.
요즘은 & 명령어 만으로도 nohup과 같은 동작을 보이는 경우도 많다고 한다.
nohup (각 언어 실행 명령어) (파일명)
ex)
nohup python app.py &
nohup java -jar {jar 파일명} &
참고로 nohup를 이용해 실행한 뒤의 log를 확인하고 싶은 경우 nohup.out 파일을 통해 보면된다.
ps -ef | grep 파일명
으로 백그라운드로 실행중인 프로그램을 찾는다.kill -9 PID번호
로 해당 프로세스를 종료한다.