프로세스 및 작업 제어

Linux 프로세스 관리 및 작업 제어를 마스터하세요. 시스템 활동 모니터링, 전경 및 백그라운드 작업 관리, 응답하지 않는 프로세스 종료, nice 및 renice 를 사용한 프로세스 우선순위 제어 방법을 학습합니다.

DevOps EngineerLinuxDevOps

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 입문 과정에서는 터미널에서 Linux 프로세스를 관찰하고 제어하는 방법을 배웁니다. 5개의 단계별 실습을 통해 프로세스 스냅샷과 실시간 모니터링에서 셸 작업 제어, 신호 기반 종료, CPU 스케줄링 우선순위까지 학습합니다.

마지막 사고 대응형 챌린지에서는 폭주 프로세스를 시작하고 리소스 사용량과 PID를 식별한 뒤, 정상 종료를 먼저 시도하고 필요한 경우에만 강제 종료로 전환합니다.

학습 내용

  • ps의 현재 터미널 보기와 ps aux의 시스템 전체 상세 정보 비교하기
  • 대상 프로세스를 찾고 필터링된 출력에서 그 PID와 검색 명령 자체를 구분하기
  • top으로 시스템 활동을 확인하고 메모리 또는 CPU 사용량순으로 프로세스 정렬하기
  • 명령을 포그라운드나 백그라운드에서 실행하고 셸 작업 ID와 PID 구분하기
  • Ctrl+Z, jobs, fg, Ctrl+C로 작업을 일시 중지, 나열, 재개, 중단하기
  • kill로 SIGTERM을 보내고 무응답 프로세스에만 SIGKILL을 사용하며 이름으로 pkill 실행하기
  • nice로 프로세스를 시작하고 renice로 실행 중 프로세스 조정하기
  • 준비된 폭주 프로세스를 단계적 대응으로 진단하고 종료하기

추천 대상

이 과정은 실용적인 프로세스 모니터링과 터미널 작업 제어 기술을 익히려는 Linux 초보자, 운영 담당자, DevOps 또는 SRE 준비 학습자에게 적합합니다.

선수 지식: 기본적인 터미널 탐색, 명령 실행, 파이프, 간단한 출력 리디렉션 능력이 필요하며 프로세스 관리 경험은 필요하지 않습니다.

학습 환경: Ubuntu 기반의 LabEx 터미널에서 안전한 모니터링, 작업 제어, 우선순위, 신호 연습을 위해 준비된 백그라운드 스크립트와 프로세스를 사용합니다.

자주 묻는 질문

과정은 어떻게 구성되어 있나요?

처음 5개 실습에는 단계별 안내가 있습니다. 여섯 번째는 더 적은 안내로 백그라운드 실행, top, PID 검색, SIGTERM, SIGKILL을 결합하는 마지막 챌린지입니다.

작업 ID와 PID의 차이는 무엇인가요?

%1 같은 작업 ID는 현재 셸의 작업 표에 속하며 fg 등에 사용됩니다. PID는 시스템 전체에서 프로세스를 식별하며 ps, renice, kill 같은 도구에 사용됩니다.

프로세스에 문제가 생기면 항상 kill -9를 사용해야 하나요?

아니요. 먼저 기본 SIGTERM을 보내 프로세스가 정상적으로 종료할 기회를 줍니다. 준비된 프로세스가 SIGTERM을 무시할 때만 kill -9로 SIGKILL을 보냅니다.

nice 값을 바꾸면 특정 CPU 시간이 보장되나요?

아니요. nice와 renice는 프로세스가 CPU를 놓고 경쟁할 때 상대적 스케줄링 우선순위에 영향을 주지만 고정 CPU 점유율을 예약하거나 보장하지 않습니다.

강사

labby
Labby
Labby is the LabEx teacher.