Information Security

13-1 프로세스 관리 본문

Linux

13-1 프로세스 관리

leeeeye321 2017. 9. 26. 03:16

프로세스(Process)

-커널의 관리하에 현재 시스템에서 동작 중인 프로그램

-커널은 프로세스를 관리하기 위해 각 프로세스에게 PCB를 할당한다. 

PCB(Process Control Block)

프로세스 고유 번호(PID), 우선 순위(Priority), 현재 상태(Current Status) 등의 정보가 들어있음

 

[프로세스 종류]

init 프로세스

부팅 시 가장 먼저 실행되어 시스템에 전반적인 설정을 하는 초기화 프로세스

 

demon 프로세스

사용자에게 특정 기능이나, 서비스를 제공하는 프로세스

 

부모(Parent) 프로세스

다른 프로세스를 생성하며 init 프로세스를 제외한 모든 프로세스는 부모 프로세스를 소유하고 있다.

 

자식(Child) 프로세스

-부모 프로세스에 의해 생성된 프로세스

-자식 프로세스는 작업을 완료하면 결과를 부모 프로세스에게 전달하고 종료된다.

 

고아(Orphan) 프로세스

자식 프로세스보다 부모 프로세스가 먼저 종료되었을 때 자식 프로세스는 고아 프로세스가 되고,

init 프로세스의 관리를 받게 된다.

 

좀비(Zombie) 프로세스

자식 프로세스의 종료 신호를 부모 프로세스가 처리하지 못 할 경우 자식 프로세스는 좀비 프로세스가 된다.

 


 

 #ps(Process Status) [옵션]

시스템에 동작 중인 프로세스 확인

[옵션]

-ef

e    모든 프로세스에 대한 리스트 출력

f    full format(완벽한 형식)으로 출력

 

-aux

a    다른 사용자들의 프로세스도 출력

u    사용자 이름, 시간 등 상세한 정보 출력

   현재 실행되고 있는 모든 프로세스 출력

 

-init 프로세스가 가장 먼저 실행된다.

-CMD 필드 -> [프로세스](대괄호 안) : 커널이 동작하는데 사용되는 프로세스

 

 

 


 

#kill

프로세스에게 SIGNAL(신호)를 전달하는 명령어

-기본 값이 프로세스를 종료하겠다는 뜻으로 동작하여 kill이라는 이름을 사용

 

-신호 종류 확인

2) SIGINT(INTERRUPT)    프로세스 종료

9) SIGKILL    프로세스 종료(강제)

15) SIGTERM(TERMINATE)    프로세스 종료

18) SIGCONT(CONTINUE)    프로세스 재시작

19) SIGSTOP    프로세스 정지

 

#kill -[번호/SIGNAL] [PID/작업번호]

ex) PID 1000번 프로세스에 시그널 전달

#kill -9 1000

#kill -SIGKILL 1000

 

ex) 세션에서 실행 중인 vim 프로세스의 PPID를 ps -ef 명령어를 이용하여 확인 후 해당 프로세스를 실행한 프로세스에게

kill 명령어를 이용하여 종료 신호를 전달 해보기

 

[세션 -1]

서브 쉘 실행 후 vi 명령어 실행

 

 

[세션 -2]

vim 프로세스의 PPID 확인

 

vim 프로세스를 어떤 프로세스가 실행 시킨 것일까?(부모 프로세스)

-> /bin/bash

 

kill 명령어 사용하여 부모 프로세스에게 종료 신호를 전달한다.

 

세션 1에서 실행하던 vi 프로세스가 죽는다. TT

 

vim 프로세스의 PPID를 다시 확인

-> 부모 프로세스가 종료되어 고아 프로세스가 되었다.

이제 init 프로세스의 관리를 받는다.

'Linux' 카테고리의 다른 글

14-1 프로세스 관리2  (0) 2017.09.27
13-2 프로세스 동작 형태  (0) 2017.09.26
12-3 sudo(substitute user do)  (0) 2017.09.25
12-2 속성(attribution)  (0) 2017.09.25
12-1 사용자 패스워드 정책 관리  (0) 2017.09.24