OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 프로세스 관리 명령(목록, 정보, 상세정보) - ps, pgre, BSD 옵션, 유닉스 옵션, GNU 옵션

주누다 2015. 3. 10. 00:08
반응형

프로세스 목록 보기 : ps

- 현재 실행 중인 프로세스 목록 확인 명령어 : ps

- ps 명령을 통해 출력되는 PID를 통해 프로세스의 '부모-자식' 관계 확인 가능

- 우분투에서는 ps 명령의 옵션의 세 가지 유형을 모두 지원

 ps 명령 옵션

- 유닉스(SVR4) 옵션 : 묶어서 사용가능, 붙임표로 시작(ex : -ef)

- BSD 옵션 : 묶어서 사용가능, 붙임표로 시작하지 않음(ex : aux)

- GNU 옵션 : 붙임표 두 개로 시작(ex : --pid)

- 이 세 가지 유형은 섞어서 사용 가능. 하지만 충돌이 발생할 수 있음




ps 명령

 ps 

- 프로세스 목록 출력

- PID : 프로세스 번호

- TTY : 터미널 번호

- TIME : 해당 프로세스가 사용한 CPU 시간의 양

- CMD : 프로세스가 실행 중인 명령

- 기능 : 현재 실행 중인 프로세스의 정보를 출력

- 형식 : ps 옵션

- 옵션 : 유닉스 옵션, BSD 옵션, GNU 옵션 

- 사용 예 : ps, ps -ef, ps aux


ps 옵션 유형

유닉스 옵션

-e : 시스템에서 실행 중인 모든 프로세스 정보 출력

-f : 프로세스 상세 정보 출력

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

-p pid : pid로 지정한 특정 프로세스 정보 출력

BSD 옵션 

a : 터미널에서 실행한 프로세스 정보 출력

u : 프로세스 소유자 이름, CPU 사용량 등 상세 정보 출력

x : 시스템에서 실행 중인 모든 프로세스 정보 출력 

GNU 옵션 

--pid PID 목록 : 목록으로 지정한 특정 PID 정보 출력 


ps -f : 프로세스 상제정보 출력

ex)user@ubunutu:~$ ps -f

 항목

 의미 

 UID

프로세스를 실행한 사용자 ID

 PID

프로세스 번호 

 PPID

부모 프로세스 번호 

 C

CPU 사용량(%) 

 STIME

프로세스의 시작 날짜나 시간 

 TTY

프로세스가 실행된 터미널 종류 및 번호

 TIME

프로세스 실행 시간 

 CMD

실행되고 있는 프로그램 이름 또는 명령 




ps 옵션 및 명령

터미널에서 실행한 프로세스의 정보 출력(BSD 옵션) : a옵션

- a 옵션은 터미널에서 실행한 프로세스의 정보를 출력

- 출력 내용 중 STAT 은 프로세스의 상태를 나타냄

ex) ps a

 STAT 의미

 문자

 의미

 비고 

R

실행 중(running) 

 

S  

인터럽트가 가능한 대기(sleep) 상태 

 

작업 제어의 의해 정지된(stopped)상태 

 

좀비 프로세스(defunct) 

 

STIME 

프로세스의 시작 날짜나 시간 

 

세션 리더 프로세스 

 BSD 형식

포그라운드 프로세스 그룹 

l(소문자 L) 

멀티 쓰레드




터미널에서 실행한 프로세스 상세 정보 출력(BSD 옵션) : a옵션 + u옵션

- 'a옵션'과 'u옵션'을 함께 사용시 터미널에서 실행한 프로세스의 상세 정보 출력

- 'a옵션'이나 '-f옵션'을 비교 

  => 'a옵션'을 사용했을시 CPU와 메모리 사용량 등 추가적인 정보 출력

ex) ps au

 'ps au' 의 출력 정보

 항목

 의미

USER 

사용자 계정 이름 

%CPU 

CPU 사용량을 퍼센트로 표시 

%MEM 

물리적 메모리 사용량을 퍼센트로 표시 

VSZ 

사용하고 있는 가상 메모리의 크기(KB)  

RSS

사용하고 있는 물리적 메모리의 크기(KB) 

START

프로세스 시작 시간 


전체 프로세스 목록 출력(유닉스 옵션) : -e 옵션

- '-e' 옵션은 시스템에서 실행 중인 모든 프로세스를 출력

- TTY의 값이 ? 인 것은 대부분 데몬으로 시스템이 실행한 프로세스

- '-e' 옵션으로 출력시 출력 내용이 스크롤되어 프로세스의 목록을 확인하기 어려움

- 출력 결과를 페이지 단위로 확인하기 위해 '|(파이프)' 와 'more' 또는 'less' 명령을 함께 사용

- 전체 프로세스의 더 자세한 상세 정보 확인시 '-e'옵션과 '-f'옵션을 함께 사용하면 됨.

- 쓰레드는 CMD에 [] 로 표시

ex) ps -e | more

ex) ps -ef | more


전체 프로세스 목록 출력(BSD 옵션) : ax옵션

- 'ax'옵션은 '-e' 옵션과 유사

- 시스템에서 실행 중인 모든 프로세스를 출력

- 'aux'옵션은 '-ef' 처럼 시스템에서 실행 중인 모든 프로세스의 상세 정보 출력

ex) ps ax | more

ex) ps aux | more


특정 사용자의 프로세스 목록 출력 :  -u 옵션

- '-u'옵션을 사용시 특정 사용자가 실행한 프로세스의 목록 확인 가능

- 더 상세한 정보 출력은 '-f'옵션을 함께 사용. 이 경우 -u옵션이 뒤에 와야함.

ex) ps -u user


특정 프로세스 정보 출력 : -p 옵션

- '-p' 옵션과 함께 PID 지정시 해당 프로세스의 정보를 출력

ex) ps -fp 315




특정 프로세스 정보 검색

- 특정 프로세스를 바로 검색하려면 'ps'명령과 'grep'명령을 '|(파이프)'로 연결하여 이용하는 방법.

- pgrep 명령 이용하는 방법.


ps 명령을 이용. 특정 프로세스 정보 검색

- 'ps -ef | grep' 등등 옵션을 활용, grep과 '|(파이프)'를 이용해 정보 검색


pgrep 명령을 이용, 특정 프로세스 정보 검색

- 'pgrep' 명령은 'ps'와 'grep'을 하나로 만든 명령어.

- 인자로 지정한 패턴과 일치하는 프로세스를 찾아 PID 확인 가능

 pgrep

- 기능 : 지정한 패턴과 일치하는 프로세스의 정보 출력

- 형식 : pgrep [옵션] [패턴]

- 옵션:

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

 => -n : 패턴을 포함하고 있는 가장 최근의 프로세스 정보 출력

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

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

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

- 사용 예 : pgrep bash

- 더 상세한 정보를 확인할려면 'pgrep' 명령과 'ps'명령을 연결해서 사용

ex1) ps -fp $(pgrep -x bash)

ex2) ps -fp $(pgrep -u user bash)




반응형