[Linux] Nohup, & 이란?
[Linux] Nohup, & 이란?
Nohup
- 리눅스, 유닉스에서 쉘스크립트파일 (*.sh)을 데몬형태로 실행시키는 프로그램
- 터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함
- &만 붙여도 백그라운드에서 작업을 수행하기는 하지만, 사용자가 터미널 세션을 끊어버리면 백그라운드로 작업중인 작업도 같이 종료가 되어 추후 문제가 생길 소지가 다분하다.
&이란?
- 프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어
- 요즘은 옵션설정으로 nohup과 같은 동작도 추가시킬수 있음
주의사항
- nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 펴미션이 755이상 상태여야 함
- chmod 755 shell.sh
실행방법
nohup shell.sh 1>/dev/null 2>&1 &
- 0 : 표준 입력
- 1 : 표준 출력
- 2 : 표준 에러
- 1>/dev/null : 1의 결과를 /dev/null(블랙홀)이라는 파일 속으로 넣는다. 즉, 사라진다
- 2>&1 : 표준 에러를 표준 출력으로 재지향
종료방법
- "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행
- "kill -9 PID번호" 명령으로 해당 프로세스 종료
팁
만약 nohup 명령어로 직접 만든 스크립트를 실행하고자 하는데 명령어를 입력 후 엔터를 치면 exit이 나온다면 스크립트에 에러가 있어 종료가 되는 것
출처
댓글
댓글 쓰기