이럴 때 nohup을 사용하면 사용자가 터미널을 종료해도 프로그램이 계속 살아있게 된다.

1.  Nohup
* 정의 : 리눅스, 유닉스에서 쉘스크립트파일(*.sh)을 데몬형태로 실행시키는 프로그램
* Nohup은 리눅스에서 쉘스크립트파일을 데몬형태로 실행시키는 명령어이다.

 - nohup으로 실행을 시키려면 실행파일 권한이 755이상으로 되어있어야 함
 - 명령어 뒤에 '&'를 추가하면 백그라운드로 실행됨 
 - nohup 을 통해 프로그램을 실행시키면 nohup.log 라는 로그 파일 생성
$nohup [실행파일]
$nohup [실행파일] &     // 백그라운드 실행
 

2.  로그 안남기기

$nohup [실행파일] 1>/dev/null 2>&1 &
 
 1. /dev/null  이 표현은 1의 결과를 /dev/null 이라는 파일 속에 넣는다.
    /dev/null로 보내버리면 모든 출력을 없애버린다.
 
 2. &1 이 표현은 2번 파일디스크립터를 1번에 지정된 형식과 동일하게 /dev/null로 지정한다.
     & 은 프로그램을 백그라운드에서 실행하도록 하는 표현이다.
 

3. nohup 종료하기

1. "ps -ef | grep 쉘스크립트파일명"  // 명령으로 데몬형식으로 실행
2. "kill -9 PID번호" // 명령으로 해당 프로세스 종료
 

 

+ Recent posts