Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

정리하는 공간

리눅스 ) 프로세스 관리-1 (ps -ef, ps-aux) 본문

리눅스 기초

리눅스 ) 프로세스 관리-1 (ps -ef, ps-aux)

개구리집 2022. 5. 12. 10:14
반응형

1. 프로세스

프로세스란? 현재 시스템에서 실행 중인 프로그램

프로세스가 하는 일? 해당 프로그램에 관련된 파일을 찾아 메모리에 올려 놓고, 끄집어내고, 처리하고를 자동으로 한다.

 

2. 프로세스의 부모-자식 관계

 

1) 부모 프로세스는 자식 프로세스를 생성하고, 자식 프로세스는 또 다른 자식 프로세스를 생성한다.

 

2) 부팅시 스케줄러가 실행한 프로세스인 sysemd[1번] 과 kthreadd[2번] 프로세스를 제외하면 모든 프로세스는 부모 프로세스를 갖고 있다.

 

3) 자식 프로세스는 할 일이 끝나면 부모 프로세스에 결과를 돌려주고 종료한다.

 

4) 부모 프로세스는 자식이 누군지 테이블 정보를 갖고 있고, 자식 프로세스는 부모가 누군지 테이블 정보를 갖고 있다. 그래서 자식이 종료 시 부모에게 정보를 보내고, 부모는 자식의 PID값을 제거하는데 이때 프로세스가 완벽히 종료된다.

 

3. 프로세스의 번호

 

각 프로세스는 고유한 번호를 가지고 있는데 이것이 PID 이다.

 

4. 프로세스의 종류

 

1) 데몬 프로세스

-특정정 서비스를 제공하기 위해 존재하며 리눅스 커널에 의해 실행

-정상 프로세스이기 때문에 정상적으로 종료할 수 있고 강제종료도 가능하다.

 

2) 고아 프로세스

-자식 프로세스가 실행중인데 부모 프로세스가 먼저 종료될 때, 자식 프로세스는 고아프로세스라 부른다.

-1번 프로세스 (systemd) 가 고아 프로세스를 관리한다.

 

3) 좀비 프로세스

-자식 프로세스가 실행을 종료했는데도 부모 프로세스 목록에 계속 자식 프로세스 정보가 남아있는 경우.

-좀비 프로세스는 프로세스 목록에 defunct 프로세스라 나오기도 한다.

-좀비 프로세스가 증가하면 프로세스 테이블 용량이 부족해져 일반 프로세스 실행이 어려울 수도 있다.

 

5. 프로세스 목록 보기 ps

<유닉스 옵션>
ps 현재 터미널에서 실행한 프로세스 목록
ps -f 현재 터미널에서 실행한 프로세스 정보
ps -e 전체 시스템에서 실행한 프로세스 목록
ps -ef 전체 시스템에서 실행한 프로세스 정보

ps -ef | less 를 이용해 전체시스템에서 실행한 프로세스 정보를 봐보자.

 

1) ps -ef 출력 정보

UID 프로세스를 실행한 사용자ID STIME 프로세스의 시작 날짜나 시간
PID 프로세스 번호 TTY 터미널 종류와 번호
PPID 부모 프로세스 번호 TIME 프로세스 실행 시간
C CPU 사용량(%) CMD 실해되고 있는 프로그램 이름

출력 정보를 확인해 볼 수 있다. 또한 systemd, kthreadd 프로세스가 각각 1,2번인 걸 알 수 있다.

반응형

 

<BSD 옵션>
ps a 현재 터미널에서 실행한 프로세스 목록
ps x 전체 너미널에서 실행한 프로세스 목록
ps u 현재 터미널에서 실행한 프로세스 정보

 

ps aux | less 를 이용해 전체 너미널에서 실행한 프로세스 정보를 봐보자.

 

2) ps aux 출력 정보

USER 사용자 계정 이름 VISZ 사용하고 있는
가상 메모리크기(KB)
%CPU CPU 사용량 RSS 사용하고 있는
물리적 메모리크기(BK)
%MEM 물리적 메모리 사용량 START 프로세스 시작시간

 

3) ps aux 사용시 STAT에서 사용되는 문자의 의미

R 실행중(Running) STME 프로세스 시작 날짜, 시간
인터럽트 가능한 대기 상태 s 세션 리더 프로세스
T 작업 제어에 의해 정지된 상태 + 포그라운드 프로세스 그룹
Z 좀비 프로세스(defunct) l(소문자 L) 멀티 스레드
LIST
Comments