Ubuntu/linux Command

Linux System Command (PS) - Process Status

HobbyCoding 2021. 8. 7. 10:17
728x90

프로세스의 상태를 확인하는 명령어

 

 

용례 1 : ps -ef

   시스템에 동작중인 모든 프로세스를 full format으로 출력

   -e : 모든 프로세스를 출력.

   -f : 풀 포맷으로 출력

 

 

용례 2 : ps -ef | grep '프로세스명'

  ex)  ps -ef | grep postgres

  grep 명령어로 원하는 키워드를 가려서 출력

 

 

용례 3 : ps -el

   'ps -ef'에서 보이지 않았던, F, S, PRI, NI, ADDR~ 등등 더 많은 정보들이 출력

 

 

용례 4 : ps -fp [PID]

   PID를 키워드로 프로세스 정보를 확인

 

 

용례 5 : ps -U root -u root

   특정 사용자가 돌리는 프로세스의 정보를 알고 싶을 때 real uid와 uid를 의미하는 옵션으로 선택

 

 

옵션내용

-A 모든 프로세스를 출력한다.
a (BSD계열) 터미널과 연관된 프로세스를 출력하는 옵션이다.
보통 x 옵션과 연계하여 모든 프로세스를 출력할 때 사용한다.
-a 세션 리더(일반적으로 로그인 셸)을 제외하고 데몬 프로세스처럼
터미널에 종속되지 않은 모든 프로세스를 출력한다.
-e 커널 프로세스를 제외한 모든 프로세스를 출력해 준다.
-f 풀 포맷으로 보여준다.
유닉스 스타일로 출력해주는 옵션으로 UID, PID, PPID등이 함께 표시된다.
-l (sys V),
l (BSD계열)
긴 포맷으로 보여준다.
프로세스의 정보를 길게 보여주는 옵션으로 우선순위와 관련된 PRI와 NI값을 확인할 수 있다.
-o 값 출력 포맷을 지정하는 옵션으로 값으로는 pid, tty, time, cmd 등을 지정할 수 있다.
-M 64비트 프로세스들을 보여준다.
-m 프로세스들 뿐만 아니라 커널 스레드들도 보여준다.
-p 특정 PID를 지정할 때 사용합니다.
-r 현재 실행 중인 프로세서를 보여준다.
u (BSD계열) 프로세스의 소유자를 기준으로 출력한다.
ps ax만 하면 USER 기준의 정보가 안뜨는데, aux 이렇게 같이 보통 써준다.
-u 특정 사용자의 프로세스 정보를 확인할 때 사용한다.
사용자를 지정하지 않으면 현재 사용자를 기준으로 정보를 출력한다.
x (BSD계열) 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를 출력한다.
보통 a옵션과 결합하여 모든 프로세스를 출력할 때 사용한다.
-x 로그인 상태에 있는 동안 아직 완료되지 않은 프로세서들을 보여준다.
유닉스 시스템은 사용자가 로그아웃 한 후에도
임의의 프로세서가 계속 동작하게 할 수 있다.
그러면 그 프로세서는 자신을 실행시킨 셸이 없이도
계속 자신의 일을 수행하는데 이러한 프로세스는
일반적인 ps 명령으로 확인할 수 없다.
이 때 -x 옵션을 사용하면 자신의 터미널이 없는 프로세서들을 확인할 수 있다.