프로세스 ( Process )
- 커널의 관리 하에 현재 시스템에서 동작중인 프로그램이다.
- 커널은 프로세스 관리를 위해 각 프로세스에게 PCB를 할당한다.
- init을 제외한 모든 프로세스는 부모-자식 관계를 가지고 있다.
1 init
- 부팅 시 가장 먼저 실행되는 시스템 초기화 프로세스
2 PCB ( Process Control Block )
- 고유번호 ( PID | Process IDentification Number )
커널이 할당하는 프로세스마다 부여되는 고유의 번호
- 우선순위 ( Priority )
운영체제가 스케줄링 하기위한 정보
- 현재 상태 ( Current State )
할당받은 자원 및 프로세스의 상태를 나타내는 정보
- 할당받은 자원의 포인터
- 문맥 저장 영역 ( Context Save Area )
프로세스의 종류
데몬 프로세스
- 커널에 의해서 실행되고 특정 서비스를 제공
부모 프로세스
- 부모 프로세스는 다른 프로세스를 만든다.
- init을 제외한 모든 프로세스는 부모 프로세스를 가진다.
자식 프로세스
- 부모 프로세스에 의해서 만들어지는 프로세스
- 자식 프로세스는 종료시 부모 프로세스에게 결과를 전달하고 종료한다.
고아 프로세스
- 자식 프로세스보다 머넞 부모 프로세스가 종료되었을 때, 해당 자식프로세스는
고아 프로세스가 되어 init 프로세스가 부모 프로세스가 된다.
좀비 프로세스
- 자식 프로세스의 종료 신호를 부모 프로세스가 처리하지 못할 경우, 자식 프로세스는
좀비 프로세스가 된다.
PS ( Process Status )
- 시스템에 동작중인 프로세스 확인
형식 : ps -[ 기능 ]
기능
-e : 모든 프로세스에 대한 리스트 출력
-f : full format으로 출력
-a : 다른 사용자들의 프로세스 출력
-u : 사용자 이름, 시간 등 자세한 정보를 출력
-x : 지금 사용되고 있는 모든 프로세스 출력
[ 프로세스 상태 ]
#ps -ef
UID - 프로세스를 실행 시킨 프로세스의 소유자를 의미한다.
PID - 실행된 프로세스에 부여된 숫자를 의미한다.
PPID - Parents Process ID, 프로세스를 생성한 부모 프로세스의 PID
C - 프로세스 스케줄링을 위한 CPU사용량, 현자는 사용되지 않는 필드다.
STIME - 프로세스가 시작된 시간
TTY ( Teletype ) - 프로세스가 연결된 제어 터미널을 표시한다.
' ? '은 터미널에 연결되어 있지 않음을 나타낸다.
TIME - 프로세스에 의해 사용된 CPU 사용 시간
CMD - 실행된 프로세스 명 ( 실행된 명령어 )
# ps -ef | grep vi
kill - 프로세스 종료 명령 ( 프로세스 신호를 전달하는 명령어 )
형식 : kill -[ 시그널번호|시그널명 ] [ PID ]
kill -l : 시그널 확인
자주 사용하는 시그널
2) SIGINT - 프로세스 종료 ( 인터럽트 )
9) SIGKILL - 프로세스 강제 종료
15) SIGTERM - 프로세스 종료
18) SIGCONT - 프로세스 재시작
19) SIGSTOP - 프로세스 정지
# KILL 09 [ vi명령어의 PID 번호 ]
프로세스 동작 형태
포어 그라운드 ( Foreground Process )
- 프롬프트에서 입력하는 대부분의 명령어는 포어 그라운드 동작
- 명령어의 실행 과정이나 결과를 화면에 출력
- 포어 그라운드로 실행되는 프로세스가 종료되길 기다렸다가 종료되면
다시 프로프트를 보여주어 명령 대기 상태로 변환
백 그라운드 ( Background Process )
- 프로세스의 종료 여부에 관계 없이 즉시 명령 대기 상태가 되어 다른명령을 실행할 수 있다.
- 백그라운드로 실행 시키기위해 '&'(AMPERSADN)을 붙여서 사용한다.
- 장시간 실행되어야하는 작업, 프로세스에 주로 사용한다.
Ex) [명령어] &
작업 번호와 PID 번호를 출력하면서 백그라운드로 동작
jobs - 백그라운드에 동작하는 프로세스를 확인
bg - 백그라운드 작업을 포어 그라운드로 변경
bg%[ 작업번호 ]
fg - 포어그라운드 작업을 백그라운드로 변경
fg%[ 작업번호 ]
top = 작업관리자
3주차 day-5 파일
'OS > Cent OS' 카테고리의 다른 글
파일 시스템 관리 #2 (0) | 2017.01.25 |
---|---|
[Cent OS] 파일 시스템 관리 (0) | 2017.01.24 |
프로세스 #2 (0) | 2017.01.23 |
속성 (0) | 2017.01.21 |
실습] 계정, 그룹 생성 (0) | 2017.01.20 |
디렉토리와 파일의 허가권 (0) | 2017.01.19 |
댓글