OS/리눅스

리눅스) 프로세스 - ps

마리사라 2023. 1. 13. 14:44
반응형

이번 강의는 리눅스에서 현재 사용 중인 프로세스를 확인할 수 있는 ps에 대해서 알아보겠습니다.

 

CLI인 리눅스의 특성상 메모리 관리를 위해 프로세스를 확인해야 하는 일이 자주 있습니다. 따라서 ps 명령어는 자주 사용해야 하니 알아두시는 것이 좋습니다.


1. ps

ps는 Process Status의 약자로, 현재 사용중인 프로세스와 관련된 명령입니다. 이와 비슷한 것으로는 윈도우의 작업 관리자나 tasklist가 있습니다.

윈도우 작업 관리자, 윈도우 tasklist

 

리눅스의 ps와 윈도우의 tasklist의 가장 큰 차이점은 대안이라고 생각합니다. 윈도우는 컴퓨터가 느려지는 것이 느껴지면 굳이 tasklist를 통해 볼 필요 없이 작업 관리자에서 필요 없는 프로그램을 클릭 몇 번으로 종료할 수 있습니다. 하지만 리눅스는 CLI이기 때문에 ps 명령을 통해 실행 중인 프로세스를 확인해야 합니다.


2. 사용법

ps의 가장 기본적인 사용법은 다음과 같습니다.

# ps [Option]

이때 옵션은 여러가지가 존재하는 데, 유닉스 계열의 명령어, BSD 계열의 명령어, GNU 계열의 명령어가 모두 다릅니다. 물론 자신의 계열이 아니라고 해서 사용이 안 되는 것은 아니지만 표기법이 다르다는 것은 알아두어야 합니다.

  • System V(유닉스)
    • -A : 모든 프로세스를 출력한다. -e와 동일하다.
    • -a : 세션 리더 및 터미널과 관련되지 않은 프로세스를 제외한 나머지 프로세스들을 출력한다.
    • -e : 커널 프로세스를 제외한 모든 프로세스를 출력한다. -A와 동일하다.
    • -r : 현재 포그라운드에서 실행중인 프로세스를 출력한다.
    • -f : 완전 포맷으로 출력한다.
    • -l : 긴 포맷으로 출력한다.
  • BSD
    • T : 이 터미널과 관련된 현재 사용자의 프로세스를 출력한다. t 옵션에서 아무것도 주지 않은 것과 같다.
    • a : 이 터미널과 관련된 모든 사용자의 프로세스를 출력한다.
    • u : 프로세스의 소유자 정보를 기준으로 출력한다.
    • x : 터미널과 관련되지 않은 모든 프로세스를 출력한다. 
    • f : 프로세스 상속 관계를 트리 구조로 출력한다.
    • ww : 넓게 출력한다.

이 외에도 많은 명령어가 있지만 대표적으로 사용하는 것은 위와 같습니다.

 

이제 이를 실제로 사용해 보겠습니다.

 

[System V]

우선 모든 프로세스를 출력하는 -e입니다. -A도 같은 명령이지만 A는 대문자이기 때문에 입력이 편한 e가 더 많이 사용됩니다.

# ps -e

ps -e

 

백그라운드로 실행중인 모든 프로세스들이 표시되는 것을 볼 수 있습니다. 하지만 이것만 봐서는 프로세스의 정보를 모두 보기 힘듭니다. 그래서 사용하는 옵션이 f옵션입니다.

# ps -f

ps -f

 

f옵션을 사용하면 프로세스의 상세 정보가 표시됩니다. 이제 이 둘을 결합해 보겠습니다.

# ps -ef

ps -ef

아까보다 더 많은 정보가 표시되는 것을 볼 수 있습니다.

 

나머지 -a나 -r은 표시되는 정보가 빈약해 잘 사용되지 않습니다.

 

[BSD]

이번에는 a 명령어를 사용해 보겠습니다. T는 System V의 -a나 -r과 비슷하여 잘 사용되지는 않습니다.

# ps a

ps a

프로세스의 양이 적습니다. 이것은 포그라운드에서 실행중인 프로세스의 정보만 보여줬기 때문입니다. 따라서 모든 프로세스를 보기 위해서는 포그라운드 프로세스를 제외한 모든 프로세스를 보여주는 x와 결합하여 사용하면 됩니다.

 

# ps ax

ps ax

이번에는 ps -e와 같이 프로세스는 모두 보여주지만 상세 정보를 볼 수 없습니다. 이때 사용되는 옵션이 u옵션입니다.

 

u옵션은 소유자의 정보를 기준으로 출력하게 되는데, 이를 위해 소유자의 정보를 포함한 모든 정보를 한 번에 보여주게 됩니다. 따라서 모든 프로세스의 상세정보를 보는 방법은 다음과 같습니다.

# ps aux

ps aux

System V의 ps -ef와 거의 같은 정보가 표시되는 것을 볼 수 있습니다.


3. 마치며

ps는 리눅스 마스터 시험에 자주 출제되는 문제입니다. 따라서 이번 글에서 다루지 않은 옵션도 한 번쯤은 해보시는 것을 추천드립니다.

반응형