리눅스에서 사용되는 nohup 명령어는 두 가지 기능이 있습니다.
1. 표준 출력을 nohup.out (또는 다른 곳) 으로 돌리는 작업을 수행
2. 프로세스가 중단되지 않는 백그라운드 작업을 수행
# nohup 사용하기
$ nohup [실행파일]
$ nohup [실행파일] & // 백그라운드 실행
# 로그 안남도록 하는 nohup
nohup으로 프로그램을 실행하면 nohup.log라는 로그가 남게 된다.
로그파일을 안 남게 하려면 다음과 같이 하면 된다
$ nohup [실행파일] 1>/dev/null 2>&1 &
1>/dev/null 이 표현은 1의 결과를 /dev/null 이라는 파일 속에 넣는다. /dev/null로 보내버리면 모든 출력을 없애버린다.
2>&1 이 표현은 2번 파일디스크립터를 1번에 지정된 형식과 동일하게 /dev/null로 지정한다.
& 은 프로그램을 백그라운드에서 실행하도록 하는 표현이다.
" 명령어 & "
여기서 '&'는 백그라운드로 실행하라는 뜻입니다.
그런데, 이 방법은 실행한 사용자가 로그아웃하면 프로그램도 함께 종료됩니다.
이럴때는 nohup 이란 명령어를 사용하면 됩니다.
# nohup(노헙) 정의
- 리눅스, 유닉스에서 쉘스크립트파일(*.sh)을 데몬형태로 실행시키는 프로그램
# nohup 주의사항
- nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 퍼미션이 755이상 상태여야 한다.
- chmod 755 shell.sh
# nohup 실행방법
- nohup shell.sh &
- nohup sh -- ./shell.sh &
# nohup 종료방법
1. "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행
2. "kill -9 PID번호" 명령으로 해당 프로세스 종료
# nohup 로그파일
nohup으로 쉘파일을 실행하면 자동으로 "nohup.out" 파일이 생성되며 이 파일에는 리다이렉션을 사용하지 않은 출력문자열이 자동으로 저장된다.
# nohup 프로그램으로 자바 프로세스 실행방법
shell> nohup java ReoDeliveryInfo &
설명 : nohup으로 자바 프로세스를 백그라운드에서 실행
'리눅스 > 명령어' 카테고리의 다른 글
리눅스 디렉토리 사용률 정렬하는 방법 (1) | 2023.12.05 |
---|---|
프로세스별 메모리 사용량 (ps, top) (0) | 2018.05.30 |
메모리 사용량 확인 (free, top, sar, vmstat, dstat) (0) | 2018.05.30 |
curl 사용법 (0) | 2018.05.03 |
fping, nmap: IP 스캔 (0) | 2017.12.23 |