CS/Linux

[Linux] ps 명령어

Tigris 2022. 4. 28. 17:48

Process Status의 약어를 이름으로 사용한 ps 명령어를 사용하면 현재 구동 중인 프로세스 정보를 확인할 수 있습니다. 명령어와 함께 사용되는 주요 옵션들은 다음과 같습니다.

  • -e: 현재 사용자뿐만 아니라 다른 사용자들이 구동시킨 모든 프로세스를 보여줍니다. (즉, -e 옵션이 없다면 ps 명령어는 현재 사용자(Shell)이 실행 중인 프로세스만 보여줍니다.)
  • -f: 보다 상세한 정보를 보여줍니다. (Full format)
  • -l: -f 보다 더 상세한 정보를 보여줍니다. (Long format)

ps -efl 명령어를 통해 출력되는 결과의 각 필드의 의미는 다음과 같습니다. (실행 환경마다 필드의 이름 혹은 출력 순서가 다를 수 있습니다.)

ps -efl 결과

  • F: 프로세스 플래그.
    • 4: used super-user privileges
    • 1: forked but didn't exec
    • 5: 4 & 1 플래그에 모두 해당하는 경우
    • 0: 어떤 플래그에도 해당하지 않는 경우
  • S: 프로세스의 현재 상태
    • R: 실행 중 혹은 실행될 수 있는 상태
    • S: 대기 상태 (약 20초 이상)
    • I: 대기 상태 (약 20초 이하)
    • T: 작업 제어에 의해 정지된 상태
    • D: 디스크 관련 대기 상태
    • P: 페이지 관련 대기 상태
    • X: 메모리 확보를 위한 대기 상태
    • >: 인위적으로 우선 순위가 높아진 상태
    • Z: 좀비 프로세스
  • UID: 프로세스를 실행시킨 사용자 ID
  • PID: 프로세스에 부여된 ID
  • PPID: 프로세스의 부모 프로세스 ID (Parent Process ID)
  • C: CPU 사용량(%)
  • PRI: 프로세스 우선순위
  • NI: 프로세스의 CPU 자원 사용 우선순위 (Nice)
  • ADDR: 프로세스의 메모리 주소
  • SZ: 가상 메모리 사용량
  • STIME: 프로세스 시작 시간
  • TTY: 프로세스가 실행된 터미널의 종류와 번호
  • TIME: 프로세스에 의해 사용된 CPU 시간
  • CMD: 실행된 프로세스의 이름 혹은 실행된 명령

잘못된 내용, 오타, 부정확한 문장 등 어떤 피드백이든 환영합니다. 감사합니다.


References

https://kb.iu.edu/d/afnv

https://ghj1001020.tistory.com/280

https://faq.hostway.co.kr/?mid=Linux_ETC&page=7&document_srl=1540

https://jhnyang.tistory.com/268