백그라운드 작업이 필요할 경우가 있을 수 있다.
1. 데몬형태로 뭐를 띄운다거나,
2. cpu 많이 안잡아먹는데, 실행이 겁나 오래 걸리는. (예를들면, 10g짜리 압축을 푼다거나 뭐 이런거. ㅋ )
보통 명령어 뒤에 & 만 붙여도 백그라운드로 작업을 한다.
test.sh &
그런데 이럴경우 사용자가 터미널 세션이 끊어버리면 백그라운드 중인 작업도 같이 종료되어 문제가 발생할 소지가 있다.
그래서 이럴때 쓰는 명령어
nohup
nohup ./test.sh &
저러면 쉘이 실행 되면서 몇 초 정도 깜박거리거나, 해당 로그가 떨어지다가
곧 프롬프트 상태로 돌아온다.
nohup 확인
그리고 나서
ps -ef
해주면 test.sh가 떠있는걸 확인할 수 있다.
nohup 종료
종료하는 방법은 따로 없다.
ctrl+c, ctrl+d 백날 눌러봐야 소용없다. ㅋ
ps -ef 로 해당 쉘 pid 확인해서 kill로 종료시키면 된다.
kill [pid of test.sh]
nohup 로그
nohup으로 실행된 쉘 스크립트는 자동으로 nohup.out 이라는 이름으로 nohup을 실행한 위치에 자동으로 생성된다.
출처 : http://changpd.blogspot.kr/2013/04/linux-nohup-xxxsh.html
df 용량과 실제 사용량이 틀린 경우 (0) | 2014.05.19 |
---|---|
히스토리 로그 설정 (0) | 2014.05.17 |
[리눅스] 파일 접근 제어 설정 & 권한 설정 (0) | 2014.04.11 |
Top 명령어 옵션 (0) | 2014.04.11 |
ps 명령어 기초 (0) | 2014.04.11 |