데몬 프로그램 실행하기 (nohup)

nohup 사용법

nohup 이란?

  • 리눅스, 유닉스에서 쉘스크립트파일 (*.sh)을 데몬 형태로 실행시키는 프로그램

  • 터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함

& 이란?

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

주의사항

  • nohup으로 실행할 쉘스크립트파일은 현재 퍼미션이 755 이상 상태여야 함.

  • chmod 755 shell.sh

실행방법

$ nohup shell.sh &
$ nohup sh -- ./shell.sh &
  • &는 백그라운드로 실행한다는 의미

  • 명령어 후 엔터쳤을때 exit 이 나오면 스크립트에 에러가 있어 종료되었다는 의미. -> nohup.out 로그 파일 확인

ex) 파이썬 파일을 백그라운드로 실행하고 싶은 경우

nohup python3 file.py & 

종료방법

ps -ef | grep [프로세스명]

# PID 식별 후
kill -15 [PID]

# 종료되지 않으면 강제 종료 (비권장)
kill -9 [PID]

로그파일 없이 실행하는 방법

nohup ./sample.sh 1>/dev/null 2>&1 &

이미 실행중인 프로세스의 로그파일을 0바이트로 만들고 싶을 경우

cat /dev/null > nohup.out

Last updated