nohup 명령어는 non-tty, 즉 터미널이 끊겨진 상태( log out, exit the shell )
에서도 명령어를 실행하는 역할을 한다.
또한 stdout(표준출력)을 다른 파일(nohup.out 등)으로 돌린다.
nohup은 명령어의
stdin은 리눅스에서 휴지통 역할을 하는 디렉터리 /dev/null 로 redirection하고,
stdout은 nohup.out이라는 파일에 기록된다.
stderr는 stdout으로 취급하여 처리한다.
예를들어,
# mkdir 명령어로 direc1이라는 디렉토리를 생성하고
nohup 명령어와 함께 디렉터리를 지우는 경우
$ 설명 $
nohup rmdir direc1 &
-> direc1을 rmdir 명령어로 지운다.
nohup rmdir direc1 &
-> 터미널이 끊어진 상태에서도 명령어를 실행한다.
nohup rmdir direc1 &
-> 명령어를 백그라운드로 실행한다.
commandline & : 명령어 뒤에 &을 붙이면 명령어를 백그라운드로 실행한다.
nohup 명령어의 결과는 nohup.out이라는 파일에 저장된다.
위 경우에는 오류메세지가 없기 때문에 nohup,out에는 아무것도 기록되지 않는다.
# 오류메세지가 뜨는 경우
# 존재하지 않는 디렉터리 korea를 nohup 명령어와 함께 지우는 경우
$ 설명 $
korea라는 디렉터리는 존재하지 않기 때문에
rmdir를 쓰면 오류메세지가 뜬다.
nohup을 사용하면 오류메세지가 nohup.out이라는 파일에 기록된다.
아래에 나오는 25071은 프로세스 id (PID)이다.
프로세스 id와 kill 명령어를 이용해서 명령어 실행을 중단시킨다.
kill -9 25230
'Computer Science > [19-상] Linux Bash Script' 카테고리의 다른 글
[Linux_bash] regex: 날짜 형식 바꾸기 (0) | 2020.02.11 |
---|---|
[Linux_bash] regex,grep: 점(.)이 있는 문자열 찾기 (0) | 2020.02.11 |
[Linux_bash] regex: 같은 숫자의 반복 찾기 (0) | 2020.02.05 |
[Linux_bash] cut,sort: 필드(field)를 지정하는 옵션의 차이 (0) | 2020.02.02 |
[Linux_bash] sort: 여러가지 방법으로 데이터를 정렬하기 (0) | 2020.02.02 |
댓글