OS/Unix2012. 5. 2. 14:57

유닉스는 다수의 작업을 백그라운드 상태로 작업으로 수행할 수 있다. 백그라운드 작업을 제어하는 명령어를 살펴보자.

 

테스트를 위해 10분동안 sleep하는 쉘 스크립트를 작성하자.

1
2
3
#!/bin/ksh
 
sleep 600

 

다음과 같이 명령어를 입력하자. huponexit 옵션이 off 인 경우 세션이 종료되면 백그라운드 작업도 함께 종료된다.  이런 경우 nohup으로 백그라운드 작업을 수행해야 한다.

  1. & 기호는 작업을 백그라운드로 실행한다.
  2. ^Z는 포그라운드 작업을 중지하고 백그라운드로 전환한다.
  3. jobs 명령어는 백그라운드 작업을 확인한다.
  4. bg 명령어는 백그라운드 작업을 실행한다.
  5. fg 명령어는 백그라운드 작업을 포그라운드로 전환한다.
  6. kill 명령어는 해당하는 백그라운드 작업을 종료한다.
  7. ^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
Posted by 정희락_