02. 클라우드 보안 공부/실습로그

✅ [실습로그] 프로세스 확인 및 제어 실습 (ps, top, kill)

taegi- 2025. 5. 5. 16:29

🎯 실습 목표

  • 리눅스에서 **현재 실행 중인 프로세스를 확인(ps, top)**하고,
    **PID를 기반으로 프로세스를 종료(kill)**하는 과정을 실습한다.
  • CPU 또는 메모리를 과도하게 사용하는 프로세스를 선별적으로 추적·제어하는 기본 운영 스킬을 익힌다.

⚙️ 실습 과정

✅ 실습 1: ps 명령어로 프로세스 확인

bash
복사편집
ps -ef

→ 시스템에 존재하는 모든 프로세스를 포맷 포함해서 출력

예시 출력:

swift
복사편집
UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:00 ? 00:00:02 /usr/lib/systemd/systemd user01 1234 1222 1 08:03 pts/0 00:00:01 ./loop.sh
  • PID: 프로세스 ID
  • CMD: 실행 중인 명령어

특정 명령어만 추적:

bash
복사편집
ps -ef | grep loop.sh

✅ 실습 2: top 명령어로 실시간 모니터링

bash
복사편집
top

→ CPU 및 메모리 사용량 기준으로 실시간으로 정렬된 프로세스 목록 제공

주요 단축키:

  • P: CPU 사용량 기준 정렬
  • M: 메모리 사용량 기준 정렬
  • k: PID 입력하여 종료
  • q: 종료

✅ 실습 3: 비정상 프로세스 종료 – kill

  1. loop.sh 스크립트를 백그라운드로 실행하여 테스트
bash
복사편집
./loop.sh &
  1. PID 확인:
bash
복사편집
ps -ef | grep loop.sh

예시: PID가 1234라고 가정

  1. 프로세스 종료:
bash
복사편집
kill 1234

→ 정상 종료가 안될 경우 강제 종료:

bash
복사편집
kill -9 1234

🧠 실습 요약

명령어기능설명
ps -ef 모든 프로세스 출력 PID, 부모 PID, 명령어 확인
top 실시간 리소스 모니터링 CPU/메모리 과다 사용 확인
kill PID 프로세스 종료 기본 종료 시그널 (15)
kill -9 PID 강제 종료 SIGKILL 사용
 

💬 느낀 점

ps와 top은 단순 조회가 아니라,
실제 문제 상황을 진단하고 대응하는 운영 도구라는 걸 체감했다.
특히 top은 실시간 확인이 가능하고, kill은 직접 종료까지 가능하다는 점에서
운영자에게 가장 기본적이고 필수적인 명령어 셋임을 실습을 통해 이해하게 되었다.