리눅스 명령) nohup : Terminal 종료 후에도 실행을 계속하기
telnet, ssh 같은 터미널 사용시 안드로이드 소스 다운로드와 같이 오래 걸리는 작업의 경우 접속이 종료된 후에도 실행을 계속 해야 할 필요가 있습니다. 이때 사용하는 명령이 nohup 입니다. 백그라운드로 작업을 원하는 경우 명령어 다음에 &; 를 주면 되는데 단순히 이명령을 이용하여 수행을 하면 터미널이 종료되는 순간 해당 작업이 중지됩니다. (물론 이건 설정에 따라 &; 만 하더라도 종료되지 않을 수도 있습니다.)
프로그램을 데몬처럼 실행하고 싶을 때는 아래와 같이 하면 됩니다.
" 명령어 &; "
여기서 '&;'는 백그라운드로 실행하라는 뜻입니다.
그런데, 이 방법은 실행한 사용자가 로그아웃하면 프로그램도 함께 종료됩니다.
이럴때는 nohup 이란 명령어를 사용하면 됩니다.
nohup 이란?
리눅스, 유닉스에서 쉘스크립트파일(*.sh)을 데몬형태로 실행시키는 프로그램
nohup 주의사항nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 퍼미션이 755이상 상태여야 한다.
chmod 755 shell.sh
nohup 실행방법
nohup sh -- ./shell.sh &;
or
nohup ./shell.sh &;
nohup 종료방법
1. "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행
2. "kill -9 PID번호" 명령으로 해당 프로세스 종료
nohup 로그파일
실행 시 자동으로 "nohup.out" 파일이 생성되며 이 파일에는 리다이
렉션을 사용하지 않은 출력문자열이 자동으로 저장된다.
프로그램을 데몬처럼 실행하고 싶을 때는 아래와 같이 하면 됩니다.
" 명령어 &; "
여기서 '&;'는 백그라운드로 실행하라는 뜻입니다.
그런데, 이 방법은 실행한 사용자가 로그아웃하면 프로그램도 함께 종료됩니다.
이럴때는 nohup 이란 명령어를 사용하면 됩니다.
nohup 이란?
리눅스, 유닉스에서 쉘스크립트파일(*.sh)을 데몬형태로 실행시키는 프로그램
nohup 주의사항nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 퍼미션이 755이상 상태여야 한다.
chmod 755 shell.sh
nohup 실행방법
nohup sh -- ./shell.sh &;
or
nohup ./shell.sh &;
nohup 종료방법
1. "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행
2. "kill -9 PID번호" 명령으로 해당 프로세스 종료
nohup 로그파일
실행 시 자동으로 "nohup.out" 파일이 생성되며 이 파일에는 리다이
렉션을 사용하지 않은 출력문자열이 자동으로 저장된다.
댓글
댓글 쓰기