다음과 같이 프로그램을 실행한 사용자가 터미널을 종료하면 프로그램도 함께 종료가 된다.

./[실행파일]

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

1. nohup
nohup은 리눅스에서 쉘스크립트파일을 데몬형태로 실행시키는 명령어이다.
nohup으로 실행을 시키려면 실행파일 권한이 755이상으로 되어있어야 한다.
뒤에 &를 추가하면 백그라운드로 실행한다.
nohup으로 프로그램을 실행시키면 nohup.log라는 로그 파일이 생성된다.

$nohup [실행파일]
$nohup [실행파일] & // 백그라운드 실행

2. 로그 안 남도록 하는 nohup
nohup으로 프로그램을 실행하면 nohup.log라는 로그가 남게 된다.
로그파일을 안 남게 하려면 다음과 같이 하면 된다

$nohup [실행파일] 1>/dev/null 2>&1 &

1>/dev/null 이 표현은 1의 결과를 /dev/null 이라는 파일 속에 넣는다. /dev/null로 보내버리면 모든 출력을 없애버린다.

2>&1 이 표현은 2번 파일디스크립터를 1번에 지정된 형식과 동일하게 /dev/null로 지정한다.

& 은 프로그램을 백그라운드에서 실행하도록 하는 표현이다.

Posted by C마노
,