관리 메뉴

Life goes slowly...

[Linux] 리눅스 Shell 파일 데몬실행 - nohup 본문

프로그래밍/Linux

[Linux] 리눅스 Shell 파일 데몬실행 - nohup

빨강소 2020. 8. 3. 00:03
728x90
반응형

nohup 실행 명령어

no hangups라는 뜻으로 Linux에서 shell 파일을 데몬 형태로 실행할수 있는 프로그램 명령어입니다. 터미널이 끊겨도 프로세스 중단을 무시하고 지속적으로 동작시키는 명령어입니다. nohup 명령어를 사용하게 되면 세션이 타임아웃이 되거나 해도 background에서 지속적으로 실행되며, 표준 출력을 nohup.out으로 돌리는 작업을 수행하기도 합니다. nohup 실행 명령어를 통하여 프로그램을 실행시키면 nohup.log라는 로그 파일이 생성되어 확인이 가능합니다.

 

nohup 명령어 주의사항

nohup으로 실행되는 shell script 파일(*.sh)의 권한(퍼미션)은 -rwxr-xr-x (755) 상태 이상이 되어야 하며, 만약 설정이 되어 있지 않다면 권한 설정을 변경해 주어야 합니다. (chmod 755)

 

nohup 명령어 실행 방법
$ nohup [실행파일] & 	//백그라운 실행 

$ ps -ef | grep [실행파일] 	//nohup 실행파일 확인

$ nohup [실행파일] 1>dev/null 2>&1& //로그 안남기기 
$ nohup worktest.sh & 
$ nohup sh -- ./worktest.sh & 
$ nohup worktest.sh 1>dev>null 2>&1 & 

$ ps -ef | grep worktest.sh

1>/dev/null이라는 표현은 1의 결과를 /dev/null이라는 파일 속에 넣은 다음에 모든 출력을 삭제한다는 의미이며

2>&1 &이라는표현은 2번 파일 디스크립터를 1번에 지정된 형식과 동일하게 /dev/null로 지정하여 백그라운드에 실행한다는 표현입니다.

 

nohup 명령어 실행 종료하기

nohup 명령어 실행을 종료시키는 방법은 nohup 실행파일의 pid를 확인한 뒤에 kill 실행하게 되면 종료됩니다.

$ ps -ef | grep [실행파일] 
$ kill -9 [pid번호]

 

728x90
반응형
Comments