> 프로세스 관리 > ps

ps: 모든 프로세스 상세 정보 확인

ps 명령어는 현재 실행 중인 프로세스들의 스냅샷을 보여줍니다. 특히 'ps -ef' 옵션 조합은 시스템의 모든 프로세스에 대한 상세 정보를 표준 형식으로 출력하여, 프로세스 모니터링 및 문제 해결에 필수적으로 사용됩니다.

개요

ps -ef는 시스템에서 실행 중인 모든 프로세스를 사용자 ID, 프로세스 ID, 부모 프로세스 ID, CPU 사용률, 시작 시간, 터미널, CPU 시간, 실행 명령어 등 상세한 정보와 함께 나열합니다. 이를 통해 시스템의 현재 상태를 파악하고 특정 프로세스를 식별하는 데 유용합니다.

ps -ef 출력 컬럼 설명

ps -ef 명령의 주요 출력 컬럼은 다음과 같습니다.

  • UID: 프로세스를 실행한 사용자 ID
  • PID: 프로세스 ID
  • PPID: 부모 프로세스 ID
  • C: CPU 사용률 (최근 시간 동안의 CPU 사용량)
  • STIME: 프로세스 시작 시간
  • TTY: 프로세스가 연결된 터미널 (tty, pts 등)
  • TIME: 프로세스가 사용한 총 CPU 시간
  • CMD: 실행된 명령어와 인수

주요 옵션

ps 명령어는 다양한 옵션을 통해 출력 형식을 제어할 수 있습니다. 'ps -ef' 조합은 '-e'와 '-f' 옵션의 결합입니다.

프로세스 선택 및 출력 형식

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ps` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ps -ef 명령의 다양한 활용 예시입니다.

모든 프로세스 상세 정보 출력

ps -ef

시스템에서 실행 중인 모든 프로세스의 상세 정보를 출력합니다.

특정 프로세스 검색

ps -ef | grep sshd

grep 명령과 조합하여 특정 키워드를 포함하는 프로세스를 검색합니다. (예: sshd 프로세스)

특정 사용자 프로세스 검색

ps -ef | grep root

특정 사용자(예: 'root')가 실행한 프로세스만 검색합니다.

헤더를 포함한 상위 N개 프로세스 보기

ps -ef | head -n 5

출력량이 많을 때, 헤더를 포함하여 상위 몇 줄만 확인합니다. (예: 상위 5줄)

특정 PID의 프로세스 정보 확인

ps -ef | grep 1234

특정 PID(예: 1234)를 가진 프로세스의 상세 정보를 확인합니다.

팁 & 주의사항

ps -ef는 시스템 상태를 파악하는 강력한 도구이지만, 출력량이 많을 수 있으므로 grep과 같은 다른 명령어와 조합하여 사용하는 것이 일반적입니다.

ps aux vs ps -ef

ps 명령어는 System V 스타일(예: -ef)과 BSD 스타일(예: aux)의 두 가지 주요 옵션 형식을 지원합니다. 둘 다 모든 프로세스를 보여주지만, 출력 형식과 일부 정보가 다를 수 있습니다. -ef는 System V 스타일의 'full' 형식이며, aux는 BSD 스타일의 'all users' 및 'full' 형식입니다.

  • ps -ef: System V 스타일, 모든 프로세스, 상세 정보 (UID, PID, PPID, C, STIME, TTY, TIME, CMD)
  • ps aux: BSD 스타일, 모든 사용자 프로세스, 상세 정보 (USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND)

grep을 이용한 필터링

ps -ef의 출력은 매우 길 수 있으므로, 원하는 정보를 빠르게 찾기 위해 항상 grep과 함께 사용하는 것이 좋습니다. 예를 들어, 'ps -ef | grep httpd'는 httpd 관련 프로세스만 보여줍니다.

프로세스 종료

ps -ef로 확인한 PID를 사용하여 kill 명령으로 특정 프로세스를 종료할 수 있습니다. 예: 'kill ' 또는 'kill -9 ' (강제 종료).


동일 카테고리 명령어