글
(1) 포그라운드 모드와 백그라운드 모드
: 대화식 쉘의 기본적인 목적은 터미널로부터 실행 명령을 받아서 그 명령이 지정한 프로그램을 실행하도록 프로세스를 생성하는 것이다.
○ 포그라운드 모드 (Foreground Mode)
: 쉘에 의해서 생성된 프로세스가 쉘의 터미널 제어권을 넘겨받아 실행중인 상태.
○ 백그라운드 모드 (Background Mode)
: 쉘에 의해서 생성된 프로세스가 쉘의 터미널 제어권 없이 실행중인 상태.
(2) 프로세스 그룹과 터미널
: 쉘에 의해 실행된 프로세스는 일반적으로 포그라운드 모드에서 실행된다. 쉘이 가지고 있던 터미널 제어권을 생성된 프로세스 그룹에 넘겨주기 때문이다. 모든 프로세스는 하나의 프로세스 그룹에 소속된다.
○ 터미널을 통해 입력된 명령어는 쉘에 의해 실행된다.
○ 이때 쉘이 생성한 프로세스는 프로세스 그룹의 리더가 되고, 자신의 PID와 동일한 PGID를 갖는 프로세스 그룹에 소속된다.
○ 쉘은 프로세스 그룹에 터미널 제어권을 제공하여 포그라운드 프로세스 그룹이 되도록 한다.
○ 프로세스 그룹의 리더가 종료되는 경우 터미널 제어권은 다시 쉘이 갖게 된다.
(3) 프로세스 제어 명령어
: 하나의 로그인 쉘 환경에서는 하나의 포그라운드 프로세스와 복수의 백그라운드 프로세스가 있을 수 있다.
○ 백그라운드 프로세스 모니터링 : jobs
: jobs 명령은 현재 로그인 쉘에서 실행중인 백그라운드 프로세스를 모니터링할 때 사용한다.
- 백그라운드 모드로 실행 : '&'기호를 사용하여 백그라운드 모드로 실행 (ex) vi test1 &
- 백그라운드 모드로 전환 : [Ctrl+z] 조합키를 사용하여 포그라운드 모드를 백그라운드로 전환
- jobs 명령어를 통해 백그라운드로 실행중인 프로세스의 작업번호 확인 : [ ] 안의 숫자
○ 포그라운드 모드로 전환 : fg
: '$ fg %작업번호' 를 통해 백그라운드 모드로 실행중인 프로세스를 포그라운드 모드로 전환할 수 있다.
○ 정지된 프로세스를 백그라운드 모드로 전환 : bg
: '$ bg %작업번호'를 통해 [Ctrl+z] 조합키로 인해 정지된 프로세스를 백그라운드 모드로 전환할 수 있다.
○ 실행중인 프로세스 종료 : kill
: '$ kill %작업번호'를 통해 실행중인 프로세스를 종료할 수 있다.
'B ook summary > Unix' 카테고리의 다른 글
Chapter 6 :: 프로그램 개발자(2) - C 컴파일러 (0) | 2013.03.03 |
---|---|
Chapter 6 :: 프로그램 개발자(1) - 파일 편집기 (0) | 2013.03.03 |
Chapter 5 :: 프로세스 응용(2) - 프로세스간 통신(시그널) (0) | 2013.01.31 |
Chapter 5 :: 프로세스 응용(1) - 프로세스 식별자 및 정보 확인 (0) | 2013.01.31 |
Chapter 4 :: 파일 시스템 응용 (2) | 2013.01.28 |
RECENT COMMENT