ps

2021년 8월 16일 수정

ps

ps는 Process Status의 약자로 흔히 유닉스나 리눅스, macOS 등의 유닉스 호환 OS에서 프로세스 목록을 얻기 위해 사용하는 CLI 도구다.

옵션이 굉장히 복잡하고 다양하고 - 가 안 붙은 옵션 계열도 존재하기 때문에 설명하기엔 혼란스럽다. 정확한 옵션 설명은 man 페이지를 참고하자.

사용예제

여기서 언급된 예제는 macOS에서만 확인된 상태라는 점을 먼저 밝힌다. 리뉵스나 유닉스 등에서는 어떻게 되는지 확인하지 않았다.

전체 프로세스 목록

보통은 두 가지 커맨드 형식이 유명하다.

ps -ef

위 명령은 커널 프로세스를 제외한 모든(-e) 프로세스 목록을 모든 정보(-f)와 함께 표시한다.

ps aux

위 명령은 터미널과 연관된 프로세스(a)를 사용자 정보를 포함하여(u) 터미널에 종속된 프로세스는 제외(x)하고 표시한다.

아래쪽 커맨드는 BSD 계열에서만 동작할 가능성이 있다. 참고로 macOS는 BSD 계열이다.

이후 필요하다면 Grep 등에 파이프로 넘겨서 원하는 것을 찾아보자.

전체 프로세스 이름만 보기

아래 명령은 전체 프로세스 목록에서 다른 정보를 다 생략하고 커맨드(프로세스 이름)만 표시한다.

ps axco command

BSD 계열이 아니라면 아래와 같이 할 수 있다.

ps -eo command

결과는 거의 동일하다.

필요하다면 정보를 더 추가하는 것도 가능하다. 예를 들어 PID를 앞에 넣고 싶다면 아래와 같이 할 수 있다.

ps axco pid,command

더 많은 필드 정보는 man 페이지의 KEYWORDS 항목을 참고하자.