- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로젝트
- GPIO
- 쉘 스크립트 기초
- synology
- 네트워크
- GUI
- JSP
- docker
- Java
- Tkinter
- 그라파나
- 리눅스
- 안드로이드
- ACL
- Linux
- Android
- System
- 클라우드
- Shell script
- API
- 메소드
- RaspberryPi
- 쉘 스크립트 if문
- Python
- 자바
- nginx
- 라즈베리파이
- 쉘 스크립트
- centos docker
- LEVIATHAN
- Today
- Total
IT창고
리눅스 프로세스2 본문
이번 글에서는 이전에 리눅스 프로세스에 관한 설명에 추가 내용을 알아보도록 하겠습니다.
이전 리눅스 프로세스 관련 내용은 아래에 링크를 참고 합니다.
2017/08/29 - [서버운영/Linux] - 리눅스 프로세스
리눅스의 프로세스는 ps 명령어로 확인이 가능합니다.
ps명령어는 현재 실행중인 프로세스 목록과 상태를 보여주는데 이 프로세스의 상태를 확인하는 방법에 대해 알아보도록 하겠습니다.
일반적으로 리눅스 프로세스 확인은 'ps -ef' 명령어만 알고 있다면 충분합니다.
다만 이것도 UNIX, BSD, GNU에 따라 미묘하게 옵션의 종류나 사용법이 달라지는데 BSD의 경우 '-' 없이 옵션을 사용하며 GNU의 경우 '--'로 '-'를 하나 더 붙여서 사용합니다.
그럼 ps의 옵션에 대해 알아보도록 하겠습니다.
옵션 | 설명 |
-e | 모든 프로세스에 대한 정보를 출력 (-A 옵션과 동일) |
-f | 전체 형식 목록을 출력 (해당 옵션은 유닉스 스타일 옵션과 합쳐서 사용 가능) |
-a | 로그인한 쉘과 터미널에 연결되지 않은 프로세스를 제외한 모든 프로세스 출력 |
-u | 특정 UID의 프로세스 목록 출력 |
-x | 프로세스의 상태와 함께 모든 프로세스 목록 출력 |
-H | 프로세스를 계층 형식으로 출력 (forest) |
-m | 프로세스와 커널 스레드도 함께 출력 |
-p | 특정 PID의 프로세스 목록 출력 |
위의 옵션표는 ps명령어에서 많이 사용될 법한 옵션들 입니다. 대부분의 경우엔 e, f옵션을 주로 사용합니다.
이번에는 aux 옵션을 사용하여 위와 같이 프로세스 상태를 출력하였습니다.
ps -ef 명령어 사용 시 확인되는 필드가 좀 더 많아졌는데 자세히 알아보도록 하겠습니다.
필드가 많으므로 아래에 표로 정리하였습니다.
ps 항목 | 설명 |
USER | 프로세스의 소유자 이름 |
PID | 프로세스 식별번호 |
%CPU | CPU 사용량 (cputime/realtime ratio) |
%MEM | 메모리 사용량 |
VSZ | 프로세스의 가상 메모리 크기 |
RSS | 비례 세트 크기 (resident set size) - 작업에서 사용한 스왑되지 않은 프로세스에 할당된 물리적 메모리 크기 |
TTY | 프로세스와 연결된 터미널 |
STAT | 프로세스의 상태코드 |
TIME | 총 CPU 사용 시간 |
COMMAND | 프로세스 실행 명령행 |
ps 항목에 대한 설명이며 이 중에서 다음으로 알아볼 부분은 프로세스의 상태코드 입니다.
위의 사진에서 상태코드를 보면 S, Ss, S< 와 같은 상태코드를 볼 수 있는데 이 프로세스 상태코드에 대해 알아보도록 하겠습니다.
상태코드 | 설명 |
D | IO와 같이 중지시킬 수 없는 잠자고 있는 프로세스 상태 |
R | 실행 중이거나 실행 가능한 프로세스 상태 |
S | 잠자고 있지만 중지시킬 수 있는 프로세스 상태 |
T | 작업 제어 신호에 의해 중지된 상태 |
t | 디버거에 의한 추적중 중지된 상태 |
X | 죽은 프로세스 상태 |
Z | 좀비 프로세스 상태 |
위의 상태코드에서 추가로 같이 사용되는 추가문자가 존재하는데 아래에 상태코드와 추가로 사용되는 두번째, 세번째 상태코드 대해 확인해보겠습니다.
추가 상태코드 | 설명 |
< | 프로세스 우선순위가 높은 상태 |
N | 프로세스 우선순위가 낮은 상태 |
L | 실시간 및 사용자 지정 IO를 위해 잠겨진 페이지를 가진 상태 |
s | 세션 리더 |
l | 멀티 스레드 |
+ | foreground 상태로 작동중인 상태 |
ps -x 명령어로 상태코드를 위와 같이 확인하였습니다
상태코드표에서 확인 했듯이 위의 사진과 같이 추가 상태코드가 붙어 프로세스의 상태를 확인해볼 수 있습니다.
'서버운영 > Linux' 카테고리의 다른 글
nGrinder 설치 및 사용법 (0) | 2020.12.01 |
---|---|
Jira 설치 (0) | 2020.11.22 |
Nexus Repository OSS 설치 (0) | 2020.11.04 |
ELK(Elasticsearch,Logstash,Kibana) 설치 (0) | 2020.03.25 |
Linux Nginx Comfile Install (0) | 2019.12.30 |