본문 바로가기

Linux

프로세스 관리 : 프로세스 관리 명령어, proc 파일 시스템

1. PS

- 프로세스와 관련된 지표들을 표시

- 주요 명령

ps -aux : 실행중인 모든 프로세스에 대한 정보를 표시

              a: 모든 프로세스, u: 사용자 지향적 출력, x: 터미널이 없는 프로세스도 표시

ps -aux 결과

STAT: 프로세스 상태

첫 번째 필드
R : 실행 가능
D : 인터럽트 불가능한 수면 상태 (보통 IO)
T : 추적 또는 중지
S : 인터럽트 가능한 수면 상태
Z : 좀비


두 번째 필(뒤에 l, +, < 등 붙은 것들)
s : 세션 리더
l : 멀티 쓰레드
L : 실시간이나 기존 IO를 위해 메모리 안에 잠겨진 페이지를 가진 상태
s : 세션 리터
I :  멀티 쓰레드
+ : 포어그라운드 상태로 동작하는 프로세스

N : 프로세스의 우선 순위가 낮은 상태

< : 프로세스의 우선 순위가 높은 상태

<가 붙어있는 프로세스는 앞에서 적었던 Nice값을 확인해보면 -20으로 우선 순위가 높게 나옴

 

2. top

- 3초(기본값)동안 수집한 리눅스 프로세스 정보를 지속적으로 제공하는 도구
- 화면 상단에는 시스템 상태의 요약 정보를 제공

 

3, kill

- 프로세스를 종료 관련 시그널을 전송함

 kill [-signal] pid

- 주요 시그널

- SIGTERM [15] : 실행을 완전하게 종결하라는 요청. 프로세스가 시그널 수신(처리/차단) 가능
- SIGKILL [9] : 차단 불가능하며, 프로세스를 커널 수준에서 종료. 프로세스가 시그널을 수신할 수 없음

                      = 강제 종료, 자원 반환 등 정상적인 절차가 이뤄지지 않음

- 프로세스에 문제가 있어 종료하고자 하는 경우 kill -15를 먼저 해보고 안된다면 kill -9로 강제 종료하고

 -9로도 종료가 잘 되지 않는다면 재부팅을 고려해야함

 

 

03. proc 파일 시스템의 이해

1. proc?

- 커널이 시스템 상태와 관련한 다양한 정보를 노출 시키는 pseudo 파일시스템

- 실제 파일이 존재하지 않고 있는 것 처럼 보이지만 확인해보면 파일 사이즈가 0으로 나옴

- 파일을 읽을 때 실시간으로 내용이 생성됨

- 운영체제의 정보를 커널 모드가 아닌 유저모드에서 확인할 수 있도록 제공함

- 대부분 proc 파일시스템에서 직접 데이터를 읽기보다는 ps, top, vmstat 등 명령어를 사용

 

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0