본문 바로가기
OS/Cent OS

프로세스

by 티옌.liy 2017. 1. 22.

프로세스 ( 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 파일

Day-5.zip


'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

댓글