본문 바로가기

운영체제/리눅스

[리눅스]ps명령어(프로세스 확인 명령어, 특정 프로세스 확인)

리눅스 프로세스 확인 명령어 - ps명령어

리눅스 OS관리 시 프로세스를 확인하는 경우가 매우 많이 있다.

이때 사용하는 명령어가 ps(Process Status)명령어이다.


ps명령어는 현재 실행중인 프로세스 목록을 보여준다.



아파치, 오라클 등 프로그램 프로세스가 정상적인지 확인하거나

비정상적인 프로세스가 올라왔는지 확인 하는 등 

리눅스 관리 전반적으로 많이 사용되는 명령어이다.


주로 파이프라인, grep명령어와 함께 사용하여 특정 프로세스를 확인하는데 많이 사용된다.



ps [option]


주요옵션

리눅스 버전에 따라 옵션이 차이가 있을 수 있음.

이외에도 많은 옵션이 있지만 실제로는 grep명령어와 함께 사용하기 때문에 잘 사용하지 않는다.

(ex. ps -ef | grep ~)


 옵션

설명

-e

 모든 프로세스를 출력해 준다.

-f

 풀 포맷으로 보여준다.(UID, PID 등)

-l

 긴 포맷으로 보여준다.

p, -p

 특정 PID의 프로세스를 보여준다.

-u 

 특정 사용자의 프로세스를 보여준다.




사용예시 및 사용화면


▼ ps

pid, cmd 등 기본적인 내용만 출력된다. 옵션 없이는 잘 사용하지 않는다.


▼ ps -f(풀 포맷으로 출력)

uid(user ID), pid(process ID), ppid(parent ID), TTY(프로세스와 연결된 터미널) 등을 표시해준다.


▼ ps -l(긴 포맷으로 출력)

풀 포맷정보 외에 F(프로세스 플래그), S(프로세스 상태), PRI(우선순위) 등 더 많은 정보를 보여준다.



▼ ps -p 1(프로세스 번호가 1인 프로세스 출력)

프로세스 번호가 1인 프로세스를 출력해준다. -e옵션과는 같이 사용할 수 없고 ps도 주로 grep과 함께 사용하므로 잘 사용되지 않는 옵션이다.



▼ ps -u apache(계정이 apache인 프로세스들을 )

apache 계정의 프로세스정보를 출력해주고 있다.



▼ ps -e(모든 프로세스를 출력)

숨겨진 프로세스까지 모두 보여준다. 매우 많이 나오기 때문에 more 명령어를 이용하여 보면 좋다.



▼ ps -ef | more(모든 프로세스를 풀 포맷으로 보여준다, more명령어를 줘서 페이지단위로 출력)

프로세스가 매우 많기 때문에 파이프라인을 이용하여 more명렁을 줘서 출력하였다.

보통 grep으로 찾을 수 없을때 수동으로 전체 프로세스를 보고자 하는경우 사용한다.


▼ ps -ef | grep apache(모든 프로세스의 출력값을 grep을 이용하여 apache가 포함된 라인들을 출력)

가장 많이 사용되는 형태이다. 파이프라인을 이용하여 특정 패턴이 있는 프로세스를 찾아 낼 수 있다.

주로 oracle 프로세스가 올라와있는지, apache 프로세스가 올라와있는지 등 특정 프로세스가 정상적으로 올라와 있는지 확인하는데 사용된다.