Yoon.s

프로세스? 정의, 관리, 검색, 종료 본문

인프라/linux

프로세스? 정의, 관리, 검색, 종료

yo_onHJ 2020. 7. 13. 17:20

프로세스

  1. 모든 프로세스는 부모-자식 관계를 가지고 있음
    (부모는 자식이 활동하면 waiting(sleep), 자식이 exit하면 awake 깨어남)

       부모 프로세스 (bash)

   생성   ↓    ↑   종료 및 복귀

       자식 프로세스 (vi, ls 등)

 

   2. PID : 각 프로세스가진 고유한 번호 

 

  • 데몬 프로세스: 특정 서비스를 제공하기 위해 리눅스 커널에 의해 실행
                        평소에 대기상태로 있다가 서비스 요청 들어오면 서비스 제공
  • 고아 프로세스: 자식 프로세스가 아직 실행 중인데 부모 프로세스가 먼저 종료될 때
                        (원래는 자식이 종료되면 부모로 돌아감)
      -> 1번 프로세스(systemd)가 새로운 부모 프로세스가 되어 고아 프로세스가 작업을 마치고 종료될 수 있게 도와줌
  • 좀비 프로세스: 자식 프로세스가 실행을 종료했는데도 프로세스 테이블 목록에 남아있는 경우 (defunct 프로세스)
                        실행되지 않지만 동작 중인 프로세스 테이블 목록을 차지하고 있어 프로세스 테이블 용량이 증가됨

 

ps [옵션]

: 현재 실행 중인 프로세스 정보 출력 

유닉스 옵션 BSD 옵션
-e : 시스템에서 실행 중인 모든 프로세스 정보 출력 a : 프로세스의 정보 출력
-f : 프로세스의 자세한 정보 출력 u : 프로세스 상세 정보 출력
-u uid : 특정 사용자에 대한 모든 프로세스 정보 출력 x : 시스템에서 실행 중인 모든 프로세스의 정보 출력
-p pid : pid 지정한 특정 프로세스의 정보 출력  

예. ps, ps -ef, ps aux

 

ps 실행 결과
ps -ef 실행결과 (밑으로 더 많은 결과가 출력되어 있어요!)
ps aux 실행 결과 (ps -ef와 결과 유사: 옵션 차이!!)

 

top

: 종료하지 않고 실시간으로 프로세스의 상태를 보여주며 내부적으로 사용

top 실행 결과

내부 명령 기능
Enter,
Space Bar
화면 즉시 다시 출력
h, ? 도움말 화면 출력
k 프로세스 종료 (종료 PID 물어봄)
n 출력하는 프로세스 개수 바꿈
p CPU 사용량에 따라 정렬하여 출력
q top 명령 종료
M 사용하는 메모리의 크기에 따라 정렬하여 출력
u 사용자에 따라 정렬하여 출력

 

 

특정 프로세스 정보 검색

pgrep [옵션] 패턴

: 인자로 지정한 패턴과 일치하는 프로세스 찾아 PID 알려주고, 지정한 옵션에 따라 검색 내용 다양해짐

-x : 패턴과 정확히 일치하는 프로세스 정보 출력

-n : 패텀 포함한 가장 최근 프로세스 정보 출력

-u 사용자명: 특정 사용자에 대한 모든 프로세스 출력

-l : PID와 프로세스 이름 출력

-t term : 특정 단말기와 관련된 프로세스 정보 출력

 

 

프로세스 종료

kill [-시그널] PID

예. kill 1001 : 프로세스 관련 파일 정리한 후 종료(15번 시그널)

     kill -2 1001 : 인터럽트 시그널 보냄(2번 시그널)

     kill -9 1001 : 프로세스 강제 종료(9번 시그널)

 

시그널: 프로세스에 무언가 발생했음을 알리는 간단한 메시지(이름과 번호로 구분)

 

 

여기서 주요 시그널은

1 SIGHUP : 터미널과 연결이 끊어졌을 때

2 SIGINT : 인터럽트  Ctrl+C

3 SIGQUIT : 종료, 코어덤프  Ctrl+\

9 SIGKILL : 강제 종료

15 SIGTERM : kill이 보내는 기본 시그널

20 SIGTSTP : 실행 정지 후 다시 실행하기 위해 대기  Ctrl+z

 

* PID 없이 프로세스 종료시킬 수 있을까?

pkill 명령으로 이름을 통해 프로세스 종료 (여러개 검색시 한 번에 종료 가능)

killall 실행 중인 모든 프로세스 한 번에 종료

Comments