type
status
date
slug
summary
tags
category
icon
password

프로세스

프로세스는 실행 중인 프로그램을 의미합니다.
운영 체제에 의해 관리되며, 메모리, CPU 시간 등의 자원을 할당받아 실행됩니다.
여러 프로세스가 병렬로 실행될 수 있으며, 각 프로세스는 독립된 실행 환경을 가집니다.
  • 실행 중인 프로그램
  • 운영 체제에 의해 관리
  • 메모리, CPU 시간 등의 자원을 할당받아 실행
  • 여러 프로세스가 병렬로 실행 가능
  • 각 프로세스는 독립된 실행 환경을 가짐
 

프로그램

프로그램이란 특정 작업을 수행하기 위해 작성된 일련의 명령어 집합을 의미합니다.
소프트웨어 개발자가 작성하며, 컴파일 또는 인터프리터를 통해 실행됩니다.
  • 특정 작업을 수행하기 위해 작성된 일련의 명령어 집합
  • 소프트웨어 개발자가 작성
  • 컴파일 또는 인터프리터를 통해 실행
  • 디스크에 할당된 정적 파일
💡
프로세스와 프로그램 차이는 무엇인가요?
특징
프로그램
프로세스
정의
특정 작업을 수행하기 위한 명령어의 집합. 디스크에 저장된 정적인 파일.
프로그램이 메모리에 로드되어 실행 중인 상태. 동적인 실행 단위.
성질
수동적, 정적
능동적, 동적
수명
프로그램 자체는 삭제되지 않는 한 계속 존재.
실행이 시작되고 종료될 때까지 존재.
자원 할당
자원을 직접 할당받지 않음.
CPU, 메모리 등 시스템 자원을 할당받아 실행.
실행
실행되기 위해서는 메모리에 로드되어야 함.
실행 중인 상태.
인스턴스
하나의 프로그램이 여러 개의 프로세스로 실행될 수 있음.
하나의 프로세스는 하나의 프로그램에 해당.
 

프로세스 종류

부모 프로세스

부모 프로세스는 다른 프로세스를 생성하는 역할을 합니다. 일반적으로 부모 프로세스는 자식 프로세스의 실행을 제어하고 관리합니다.

자식 프로세스

자식 프로세스는 부모 프로세스에 의해 생성된 프로세스를 의미합니다. 자식 프로세스는 부모 프로세스의 자원을 상속받아 실행되며, 독립적으로 동작할 수 있습니다.

데몬 프로세스

데몬 프로세스는 백그라운드에서 실행되며, 사용자가 직접 제어하지 않는 프로세스를 의미합니다. 이들은 시스템의 부팅 과정에서 시작되어 종료될 때까지 지속적으로 실행됩니다.
파일 뒤에 d 가 붙습니다

고아 프로세스

고아 프로세스는 부모 프로세스가 종료되어 부모 없이 남겨진 프로세스를 의미합니다. 이러한 프로세스는 초기화 프로세스(init)에 의해 관리됩니다.

좀비 프로세스

좀비 프로세스는 프로세스가 종료된 후에도 프로세스 테이블에 남아있는 상태를 의미합니다. 이러한 상태는 자식 프로세스가 종료되었음을 부모 프로세스가 확인하지 않았기 때문에 발생합니다.
💡
없앨 수 있는 방법 없을까요? 직접 프로세스 식별자(pid, appname 등)를 확인해 kill -9 로 제거합니다. 9 는 signal 에서 SIGKILL 을 의미합니다. 그럼에도 안죽는 경우가 있기 때문에 리소스가 원활이 반환될 수 있도록 스케줄러로 스크립트를 실행하기도 합니다.

프로세스 확인

ps(process status)

ps 명령어는 현재 시스템에서 실행 중인 프로세스의 목록을 출력하는 데 사용됩니다. 다양한 옵션을 사용하여 상세한 프로세스 정보를 조회할 수 있습니다.

top

top 명령어는 실시간으로 시스템의 프로세스와 자원 사용 상태를 모니터링하는 데 사용됩니다. CPU, 메모리 사용량 등을 실시간으로 확인할 수 있어 시스템 상태를 파악하는 데 유용합니다.
 

REF

 
작업 관리쉘은 왜 자료형을 안쓸까?
Loading...