본문 바로가기

DEVELOP_NOTE/Linux

[Linux] 프로세스 확인 명령어 옵션 비교 (ps -ef / ps aux)

1) PS ?

ps 명령어는 UNIX 계열 운영 체제에서 현재 실행 중인 프로세스 목록을 표시하는 데 사용되며, 다양한 옵션을 가지고 있다.

그 중 ps -ef와 ps aux는 이 옵션들 중 가장 널리 사용되는 두 가지 형태이다.

 

 

2) 세부 옵션 비교

ps -ef와 ps aux 모두 시스템에서 실행 중인 프로세스에 대한 상세한 정보를 제공하지만, 

출력 형식과 표시되는 정보에 약간의 차이가 있어, 용도와 목적에 맞게 사용할 수 있다.

ps -ef
  • -e 옵션 : 모든 프로세스를 나열한다.
  • -f 옵션 : 전체 포맷을 사용하며. 각 프로세스에 대한 상세한 정보를 보여준다.
  • 출력 내용
    • UID(사용자 ID)
    • PID(프로세스 ID)
    • PPID(부모 프로세스 ID)
    • C(프로세서 사용량)
    • STIME(시작 시간)
    • TTY(터미널 타입)
    • TIME(총 CPU 사용 시간)
    • CMD(실행 명령어) 등을

이 형식은 주로 System V 계열의 UNIX 시스템에서 사용된다.

 

ps aux
  • a 옵션 : 다른 사용자의 프로세스를 포함한 모든 프로세스를 나열한다.
  • u 옵션 : 프로세스의 소유자에 대한 정보를 나타내는 사용자 지향 포맷을 사용한다.
  • x 옵션 : 터미널에 연결되지 않은 프로세스도 나열한다.
  • 출력 내용
    • USER(소유자)
    • PID(프로세스 ID)
    • %CPU(CPU 사용량 비율)
    • %MEM(메모리 사용량 비율)
    • VSZ(가상 메모리 사이즈)
    • RSS(실제 메모리 사이즈)
    • TTY(터미널 타입)
    • STAT(프로세스 상태)
    • START(프로세스 시작 시간)
    • TIME(총 CPU 사용 시간)
    • COMMAND(실행 명령어) 

이 형식은 주로 BSD 계열의 UNIX 시스템에서 사용되며, Linux 시스템에서도 널리 사용되고 있다.

 

 

ps -ef 와 ps aux의 활용상 차이점

1. ps aux는 %CPU와 %MEM을 표시하는 반면, ps -ef는 이러한 정보를 보여주지 않는다.
2. 그리고, ps aux는 사용자 이름을 USER 컬럼으로 보여주는 반면, ps -ef는 UID를 보여주는 부분에 차이가 있다.
3. 출력 포맷과 컬럼의 배열 순서가 다르다.

 

결국, 두 명령어 중 어느 것을 사용할지는 사용자의 선호도와 필요한 정보에 따라 결정된다. 일반적으로 ps aux는 시스템의 CPU와 메모리 사용 상황을 더 자세히 보고 싶을 때 유용하며, ps -ef는 프로세스 간의 관계(부모-자식)를 더 자세히 파악하고 싶을 때 사용하면 좋을 것이다.