IT / / 2025. 2. 20. 18:47

리눅스 프로세스 관리: 개념부터 실전 명령어까지

728x90
반응형
리눅스 프로세스 관리: 개념부터 실전 명령어까지

리눅스 프로세스 관리: 개념부터 실전 명령어까지

리눅스 운영체제에서 프로세스 관리는 시스템의 안정성과 효율성을 유지하는 핵심 요소입니다. 실행 중인 프로그램을 효과적으로 관리하는 것은 시스템 관리자와 사용자 모두에게 중요한 기술입니다.

📌 1. 프로세스란 무엇인가?

프로세스(Process)는 실행 중인 프로그램의 인스턴스로, 시스템에서 작업을 수행하는 기본 단위입니다. 리눅스에서는 각 프로세스가 고유한 프로세스 ID(PID)를 가지며, 부모-자식 관계를 형성하여 계층적인 구조를 이룹니다.

✅ 프로세스의 종류

  • 일반 프로세스: 사용자가 실행한 프로세스 (예: 웹 브라우저, 텍스트 에디터)
  • 데몬 프로세스: 백그라운드에서 실행되며 시스템 서비스를 제공 (예: Apache, MySQL)
  • 고아 프로세스: 부모 프로세스가 종료되었지만 자식 프로세스가 계속 실행되는 경우
  • 좀비 프로세스: 종료되었지만 프로세스 테이블에 남아 있는 프로세스

📌 2. 실행 중인 프로세스 확인

✅ `ps` 명령어

현재 실행 중인 프로세스를 확인할 때 사용합니다.

ps -ef
  • -e: 모든 프로세스를 표시
  • -f: 상세 정보(UID, PID, PPID, 실행 시간 등) 출력

✅ `top` 명령어

실시간으로 CPU, 메모리 사용량과 실행 중인 프로세스를 모니터링합니다.

top

이 명령어를 실행하면 프로세스 목록이 주기적으로 갱신되며, 특정 프로세스를 종료하거나 우선순위를 변경하는 기능을 제공합니다.

📌 3. 프로세스 종료

✅ `kill` 명령어

특정 프로세스를 종료할 때 사용합니다.

kill [시그널] PID
  • kill -9 PID: 강제 종료 (SIGKILL)
  • kill -15 PID: 정상 종료 (SIGTERM, 기본값)

✅ `pkill` 명령어

프로세스 이름을 기준으로 종료할 때 사용합니다.

pkill 프로세스이름

예를 들어, Apache 웹 서버를 종료하려면 다음과 같이 입력합니다.

pkill apache

📌 4. 백그라운드와 포그라운드 작업

✅ `bg` 명령어

일시 중지된 작업을 백그라운드에서 실행할 때 사용합니다.

bg %작업번호

✅ `fg` 명령어

백그라운드에서 실행 중인 작업을 포그라운드로 가져옵니다.

fg %작업번호

작업 번호는 jobs 명령어로 확인할 수 있습니다.

📌 5. 프로세스 우선순위 조정

✅ `nice` 명령어

새로운 프로세스를 실행할 때 우선순위를 지정합니다.

nice -n 우선순위 명령어

✅ `renice` 명령어

실행 중인 프로세스의 우선순위를 변경합니다.

renice 우선순위 -p PID

우선순위 값은 -20(가장 높은 우선순위)에서 19(가장 낮은 우선순위) 사이로 설정할 수 있습니다.

📌 6. 시스템 메모리 사용량 확인

✅ `free` 명령어

현재 시스템의 메모리 사용량을 확인할 때 사용합니다.

free -h

-h 옵션을 사용하면 사람이 읽기 쉬운 단위(GB, MB)로 출력됩니다.

📌 7. 결론

리눅스의 프로세스 관리는 시스템 성능과 안정성 유지에 필수적인 요소입니다. ps, top, kill 등의 명령어를 익히고 활용하면, 시스템 자원 관리와 성능 최적화에 큰 도움이 될 것입니다.

📌 #리눅스 #프로세스관리 #리눅스명령어 #시스템모니터링 #서버관리 #Linux

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유