본문 바로가기
리눅스

[Linux] 리눅스 프로세스 관리 명령어: htop, ps, kill

by ImirAin 2025. 10. 24.

top 명령어가 시스템 성능 모니터링의 기본이라면, htop은 향상된 시각화와 상호 작용 기능을 제공하는 강력한 도구입니다. ps와 kill은 프로세스의 상태를 확인하고 제어하는 데 사용되는 핵심 명령어입니다.


1. htop: 향상된 리눅스 시스템 모니터링 도구 

htop은 기존 top 명령어의 기능을 확장하고, 비주얼적인 사용자 인터페이스(Visual CLI)를 제공하여 시스템 사용량을 더 쉽고 빠르게 모니터링할 수 있게 해주는 프로그램입니다.

  • 주요 특징 및 장점:
    • 비주얼 모니터링: CPU 코어별 사용률, 메모리, 스왑 메모리 사용률이 그래프 형태로 표현되어 직관적입니다.
    • 실시간 갱신: 모니터링되는 프로세스가 1초에 한 번씩 갱신됩니다.
    • CPU 코어 디테일: 시스템의 CPU 코어 개수를 확인하여 각 코어의 부하를 개별적으로 보여줍니다.
    • 상호 작용 용이: GUI 환경의 작업 관리자처럼 키보드나 마우스를 이용하여 프로세스를 선택, 종료(Kill), 우선순위 변경 등을 즉시 수행할 수 있습니다.
    • 검색 및 필터링: 특정 프로세스 이름으로 검색하거나 필터링하여 현황을 쉽게 볼 수 있습니다.
    • 트리 뷰: 프로세스 간의 부모-자식 관계를 트리 구조(pstree와 유사)로 보여주는 기능을 지원합니다.

2. ps: 현재 실행 중인 프로세스 스냅샷 확인 

ps (Process Status) 명령어는 현재 시점에 실행 중인 프로세스들의 정적인 스냅샷을 보여줍니다. top이나 htop처럼 실시간 업데이트를 제공하지는 않습니다.

  • 주요 사용 옵션:
    • ps -ef 또는 ps aux: 리눅스에서 모든 프로세스의 상세 정보를 확인하는 가장 일반적인 조합입니다.
      • -e 또는 a: 모든 프로세스 표시.
      • f 또는 u: 프로세스 상세 정보 표시 (사용자, CPU/메모리 사용률 등).
  • 활용: grep과 함께 사용하여 특정 프로그램이나 사용자가 실행한 프로세스만 필터링하여 확인할 때 유용합니다.
Bash
 
# 예시: 'apache' 관련 프로세스 목록 확인
ps -ef | grep apache

3. kill: 프로세스에 종료 시그널 보내기 

kill 명령어는 특정 PID(Process ID)를 가진 프로세스에 종료 시그널을 보내 프로세스를 제어합니다. 프로세스를 즉시 종료하거나 우아하게 종료하도록 요청할 수 있습니다.

  • 사용법: kill [옵션/시그널 번호] [PID]
  • 주요 시그널: | 시그널 | 번호 | 설명 | | :--- | :--- | :--- | | TERM | 15 (기본값) | Graceful Shutdown: 프로세스가 스스로 종료할 준비를 하도록 요청 (정상 종료). | | KILL | 9 | Immediate Kill: 프로세스를 강제로 즉시 종료 (데이터 손실 위험 있음). |
Bash
 
# 예시 1: PID 12345번 프로세스를 정상적으로 종료 요청
kill 12345 
# 또는
kill -15 12345

# 예시 2: PID 54321번 프로세스를 강제로 즉시 종료
kill -9 54321

 참고: 프로세스를 종료할 때는 일반적으로 TERM (15) 시그널을 먼저 보내고, 응답이 없거나 종료되지 않을 경우에만 KILL (9) 시그널을 사용합니다.