유닉스는 다수의 작업을 백그라운드 상태로 작업으로 수행할 수 있다. 백그라운드 작업을 제어하는 명령어를 살펴보자.
테스트를 위해 10분동안 sleep하는 쉘 스크립트를 작성하자.
1 2 3 |
#!/bin/ksh sleep 600 |
다음과 같이 명령어를 입력하자. huponexit 옵션이 off 인 경우 세션이 종료되면 백그라운드 작업도 함께 종료된다. 이런 경우 nohup으로 백그라운드 작업을 수행해야 한다.
- & 기호는 작업을 백그라운드로 실행한다.
- ^Z는 포그라운드 작업을 중지하고 백그라운드로 전환한다.
- jobs 명령어는 백그라운드 작업을 확인한다.
- bg 명령어는 백그라운드 작업을 실행한다.
- fg 명령어는 백그라운드 작업을 포그라운드로 전환한다.
- kill 명령어는 해당하는 백그라운드 작업을 종료한다.
- ^C는 포그라운드 작업을 종료한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# s1.sh 1 & [1] 64225358 # jobs [1] + Running s1.sh 1 # s1.sh 2 ^Z [2] + Stopped s1.sh 2 # jobs [2] + Stopped s1.sh 2 [1] - Running s1.sh 1 # bg [2] s1.sh 2 # jobs [2] + Running s1.sh 2 [1] - Running s1.sh 1 # fg s1.sh 2 ^Z [2] + Stopped s1.sh 2 # jobs [2] + Stopped s1.sh 2 [1] - Running s1.sh 1 # fg %1 s1.sh 1 ^Z [1] + Stopped s1.sh 1 # jobs [1] + Stopped s1.sh 1 [2] - Stopped s1.sh 2 # bg %1 [1] s1.sh 1 # jobs [2] + Stopped s1.sh 2 [1] - Running s1.sh 1 # kill %2 # jobs [2] + Terminated s1.sh 2 [1] - Running s1.sh 1 # fg s1.sh 1 ^C # jobs |
'OS > Unix' 카테고리의 다른 글
매칭 패턴 다음 라인 조회 (0) | 2012.05.02 |
---|---|
find + grep 명령어 (0) | 2012.04.30 |