3. 프로세스 세부 정보

실제 프로세스 관리 응용 프로그램을 살펴보기 전에, 리눅스 프로세스가 무엇이며 어떻게 작동하는지 이해하는 것이 필수적입니다. 이 주제는 세부 사항을 탐색하면서 복잡하게 느껴질 수 있으므로, 필요하다면 나중에 이 강의를 다시 살펴보셔도 좋습니다.

리눅스 프로세스란 무엇인가

프로세스는 실행 중인 프로그램입니다. 더 정확히 말하면, 시스템이 메모리, CPU 시간, I/O 와 같은 리소스를 할당한 실행 중인 프로그램의 인스턴스입니다. 예를 들어, 세 개의 터미널 창을 열고, 그중 두 개에서 인자 없이 cat 명령을 실행한 다음 (표준 입력을 기다리며 프로세스를 활성 상태로 유지함), 세 번째 창을 사용하여 ps aux | grep cat을 실행하면 두 개의 별도 cat 프로세스가 표시됩니다. 각 프로세스는 동일한 프로그램의 별도 인스턴스이며, 고유한 프로세스 ID 와 리소스 할당을 가집니다.

프로세스 관리에 대한 커널의 역할

리눅스 커널은 모든 프로세스 관리를 담당합니다. 프로그램을 실행하면 커널은 해당 코드를 메모리에 로드하고, 필요한 시스템 리소스를 할당하며, 이를 프로세스로 추적하기 시작합니다. 커널은 각 프로세스에 대해 다음을 포함한 상세 정보를 유지 관리합니다.

  • 프로세스의 상태
  • 프로세스가 사용 중이거나 수신하는 리소스
  • 프로세스 소유자
  • 시그널 처리 (나중에 자세히 설명)
  • 그리고 기본적으로 그 외 모든 것

모든 활성 프로세스는 시스템 리소스를 놓고 경쟁합니다. 커널은 스케줄러 역할을 하여 각 프로세스가 우선순위와 필요에 따라 공정한 리소스 할당을 받도록 보장합니다. 프로세스가 작업을 완료하거나 종료되면 커널은 사용 중이던 리소스를 회수하여 다른 프로세스가 사용할 수 있도록 합니다.

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

연습이 완벽을 만듭니다! 리눅스 프로세스 및 해당 관리에 대한 이해를 강화하기 위한 실습 랩이 있습니다.

  1. 리눅스 프로세스 관리 및 모니터링 - 전경/배경 프로세스 상호 작용, ps를 사용한 검사, top을 사용한 모니터링, kill을 사용한 종료를 포함하여 리눅스 시스템에서 프로세스를 관리하고 모니터링하는 필수 기술을 배웁니다.
  2. 리눅스 top 명령어: 실시간 시스템 모니터링 - top 명령어를 사용하여 실시간 시스템 모니터링 방법을 배우고, 프로세스 정렬, 업데이트 간격 조정, 사용자별 필터링을 포함합니다.
  3. 리눅스 free 명령어: 시스템 메모리 모니터링 - free 명령어를 사용하여 시스템 메모리 사용량을 모니터링하고 분석하는 방법을 배우고, 커널이 프로세스에 리소스를 할당하는 방식을 이해합니다.

이 랩들은 실제 시나리오에서 개념을 적용하고 리눅스 프로세스 관리에 대한 자신감을 구축하는 데 도움이 될 것입니다.

퀴즈

모든 리눅스 프로세스를 관리하고 제어하는 것은 무엇입니까? 단일 영어 단어로, 모두 소문자로 답하십시오.