데몬 프로그램 실행하기 (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