프로세스 관리(ps, top, kill)
시스템에서 실행 중인 프로세스를 나열하고 모니터링하며 종료하는 방법을 배우고 프로세스 ID와 상태를 이해합니다.
프로세스 관리(ps, top, kill)은(는) CoddyKit의 무료 Linux Command Line & Bash Scripting Mastery 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Command Line & Bash Scripting Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
프로세스란 무엇인가요?
Linux에서 프로세스는 실행 중인 프로그램의 인스턴스입니다. 실행하는 모든 명령어와 여는 모든 애플리케이션은 하나 이상의 프로세스로 실행됩니다.
- 프로세스는 운영 체제가 관리합니다.
- 프로세스를 이해하는 것은 시스템 상태를 모니터링하고 문제를 해결하는 데 중요합니다.
`ps`로 프로세스 나열하기
ps 명령(process status)은 현재 실행 중인 프로세스의 정보를 표시하는 데 사용됩니다.
기본적으로 현재 터미널 세션과 연결된 프로세스를 표시합니다.
자세한 프로세스 정보 (`ps aux`)
다른 사용자나 시스템 서비스가 시작한 프로세스를 포함하여 시스템에서 실행 중인 모든 프로세스를 확인하려면 aux 또는 -ef와 같은 옵션을 사용합니다.
ps aux: 터미널에 연결되지 않은 프로세스를 포함한 모든 프로세스를 표시합니다.ps -ef: 전체 목록 형식으로 모든 프로세스를 표시합니다.
ps aux를 실행하고 head로 파이프하여 처음 몇 줄을 확인해 보세요.
ps aux | head -n 5`ps` 출력 이해하기
ps aux의 출력에는 몇 가지 주요 열이 있습니다.
- USER: 프로세스를 소유한 사용자입니다.
- PID: 고유한 프로세스 ID입니다.
- %CPU: CPU 사용률입니다.
- %MEM: 메모리 사용률입니다.
- COMMAND: 프로세스를 시작한 명령입니다.
프로세스를 관리할 때는 PID가 특히 중요합니다.
`top`으로 실시간 모니터링하기
ps가 특정 시점의 상태를 보여 준다면, top 명령은 실행 중인 프로세스를 동적으로 실시간으로 보여 줍니다.
계속해서 정보를 업데이트하며, 가장 많은 리소스를 사용하는 프로세스를 표시합니다.
`top` 지표 해석하기
top을 실행하면 위쪽에 요약 정보가 표시되고 아래쪽에 프로세스 목록이 표시됩니다.
- Load Average: 최근 1분, 5분, 15분 동안의 평균 시스템 부하입니다.
- Tasks: 전체, 실행 중, 대기 중, 중지됨, 좀비 상태인 프로세스의 수입니다.
- %Cpu(s): CPU 사용률입니다.
- Mem: 전체, 여유, 사용 중, 버퍼링된 메모리입니다.
- Process List:
ps와 비슷한 열을 표시하지만, 계속 정렬됩니다(기본값은 CPU 기준).
특정 프로세스 찾기
ps를 grep과 함께 사용하여 특정 프로세스만 필터링할 수 있습니다. 예를 들어 'bash'와 관련된 모든 프로세스를 찾을 수 있습니다.
grep -v grep 부분은 결과에서 grep 명령 자체를 제외하는 데 도움이 됩니다.
ps aux | grep -i "bash" | grep -v "grep"`kill`로 프로세스 종료하기
프로세스가 멈추거나 너무 많은 리소스를 사용하는 경우가 있습니다. kill 명령을 사용하면 프로세스에 신호를 보내 일반적으로 프로세스를 종료할 수 있습니다.
종료하려는 프로세스의 PID가 필요합니다.
`kill` 신호 이해하기
kill을 사용하면 프로세스에 "신호"를 보냅니다. 기본 신호는 SIGTERM(15)이며, 프로세스에 정상적으로 종료하도록 요청합니다.
kill PID: SIGTERM을 보냅니다.kill -9 PID: SIGKILL을 보냅니다. 프로세스가 무시할 수 없는 강제 종료입니다. 신중하게 사용하세요!
kill -l을 사용하면 사용 가능한 모든 신호를 나열할 수 있습니다.
kill -l실전 `kill` 예제
간단한 백그라운드 프로세스를 종료하는 연습을 해 보겠습니다. 백그라운드에서 sleep 명령을 시작하고 PID를 찾은 다음, kill을 사용하여 중지해 보겠습니다.
아래 코드를 실행하세요. 실행이 끝나면 sleep 프로세스의 PID가 표시됩니다. 그런 다음 터미널에 kill <PID>를 직접 입력하여 중지하세요(<PID>를 실제 번호로 바꾸세요).
# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."
# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"
# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345빠른 확인: 프로세스 관리
프로세스를 나열하고 모니터링하며 종료하는 방법을 배웠습니다. 이해한 내용을 확인해 보겠습니다.
복습: 프로세스 관리하기
잘하셨습니다! 이번 학습에서 프로세스 관리에 필요한 주요 Linux 명령을 익혔습니다.
ps: 프로세스를 나열하고 상태를 특정 시점에 확인합니다.top: 시스템 프로세스와 리소스 사용량을 실시간으로 동적으로 모니터링합니다.kill: 프로세스에 신호를 보내 정상적으로(SIGTERM) 또는 강제로(SIGKILL) 종료합니다.
이 도구들은 시스템 관리와 문제 해결에 매우 중요합니다.
자주 묻는 질문
“프로세스 관리(ps, top, kill)” 강의는 무료인가요?
네 — “프로세스 관리(ps, top, kill)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Command Line & Bash Scripting Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
“프로세스 관리(ps, top, kill)”에서 뭘 배우나요?
시스템에서 실행 중인 프로세스를 나열하고 모니터링하며 종료하는 방법을 배우고 프로세스 ID와 상태를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Command Line & Bash Scripting Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Linux Command Line & Bash Scripting Mastery을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Linux Command Line & Bash Scripting Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“프로세스 관리(ps, top, kill)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Linux Command Line & Bash Scripting Mastery 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Linux Command Line & Bash Scripting Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 프로세스 관리(ps, top, kill)
- 입출력 리디렉션(>, >>, <)
- 명령 연결하기(|)
- 백그라운드 작업과 작업 제어