프로세스 및 작업 제어

초급

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

devops-engineerlinuxdevops

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

프로세스 및 작업 제어 (Processes and Job Control)

Linux 가 프로그램을 프로세스로 실행하는 방식, 프로세스를 검사하는 방법, 그리고 포그라운드 (foreground) 및 백그라운드 (background) 작업, 시그널 (signals), 프로세스 우선순위를 관리하는 방법을 배웁니다. 이 과정에서는 시스템에서 무엇이 실행되고 있는지 파악하고, 작업이 멈추거나 오작동하거나 리소스를 과도하게 점유할 때 어떻게 대응해야 하는지에 대한 운영 기술을 다룹니다.

왜 중요한가요?

프로세스는 Linux 시스템을 움직이는 핵심 요소입니다. 서비스, 셸, 스크립트, 사용자 애플리케이션 모두 프로세스로 실행되며, 운영상의 문제는 대부분 적절한 프로세스를 식별하고 상태를 확인한 뒤 올바른 조치를 취하는 과정에서 해결됩니다. 프로세스에 대한 이해는 문제 해결, 시스템 모니터링, 일상적인 운영 지원을 위해 필수적입니다.

학습 내용

  • 실행 중인 프로세스를 검사하고 일반적인 프로세스 세부 정보의 의미를 이해합니다.
  • top과 같은 도구를 사용하여 활성 워크로드를 실시간으로 모니터링합니다.
  • 대화형 셸 세션에서 작업을 포그라운드와 백그라운드 사이로 전환합니다.
  • 상황에 맞는 적절한 강도로 프로세스를 중지하거나 종료합니다.
  • nicerenice를 사용하여 스케줄링 우선순위를 조정합니다.
  • 이러한 기술을 활용하여 실제와 유사한 환경에서 폭주하는 프로세스 (runaway process) 문제를 해결합니다.

과정 로드맵

이 과정은 프로세스 검사부터 시작하여 현재 실행 중인 항목과 Linux 가 활성 프로그램을 어떻게 표현하는지 살펴봅니다. 이후 실시간 모니터링 단계로 넘어가 top과 같은 도구를 통해 CPU 나 메모리 사용량이 급증하는 상황을 포착하는 방법을 배웁니다.

다음으로, 포그라운드 및 백그라운드 작업을 도입하여 매번 새로운 터미널을 열지 않고도 대화형 명령을 관리하는 방법을 익힙니다. 그 후, 시스템이 응답하지 않을 때 무작정 대응하는 대신 프로세스를 의도적으로 중지하고, 시그널을 보내고, 종료하는 방법을 배웁니다.

마지막 실습 주제는 프로세스 우선순위와 nicerenice가 스케줄링 동작에 미치는 영향입니다. 과정의 마지막에는 '폭주하는 프로세스 완화 (Runaway Process Mitigation)' 챌린지가 준비되어 있으며, 실제 운영 환경에서처럼 문제 있는 워크로드를 조사하고 제어하는 실습을 진행합니다.

수강 대상

이 과정은 실행 중인 워크로드를 이해하고, 멈추거나 리소스를 과도하게 사용하는 프로세스에 자신 있게 대응하고자 하는 Linux 학습자, 주니어 시스템 관리자, DevOps 입문자를 위한 과정입니다.

학습 성과

이 과정을 마치면 활성 프로세스를 검사하고, 시스템 활동을 실시간으로 모니터링하며, 셸 내에서 작업을 관리하고, 일반적인 운영 문제에 대해 적절한 프로세스 제어 조치를 선택할 수 있게 됩니다.

강사

labby
Labby
Labby is the LabEx teacher.