Linux 프로세스 개념

minho-log·2026년 2월 6일

Linux

목록 보기
13/23

<공부 주제>

Linux 프로세스 개념

<공부한 내용 정리>

Linux에서 프로세스(Process) 는 실행 중인 프로그램을 의미한다.
단순히 파일로 존재하는 프로그램이 아니라, 메모리에 올라가서 CPU 자원을 사용하며 동작 중인 상태가 프로세스다.

Linux는 다중 작업(Multi-tasking) 운영체제이기 때문에 여러 프로세스가 동시에 실행될 수 있다.
프로세스의 기본 개념은 다음과 같다.

  • 프로그램: 디스크에 저장된 실행 파일
  • 프로세스: 실행 중인 프로그램
  • 하나의 프로그램 → 여러 프로세스 가능

예를 들어, 같은 프로그램을 여러 번 실행하면 각각은 서로 다른 프로세스로 동작한다.

프로세스의 구성 요소

프로세스는 다음과 같은 정보를 가진다.

  • PID(Process ID) : 프로세스 고유 번호
  • 부모 프로세스(PPID) : 해당 프로세스를 실행한 프로세스
  • 상태(State) : 실행, 대기, 종료 등
  • 자원 정보 : CPU, 메모리 사용량

Linux에서는 모든 프로세스가 PID 1번 프로세스를 기준으로 연결된다.

프로세스 상태

프로세스는 실행 중에도 상태가 바뀐다.
대표적인 상태는 다음과 같다.

  • 실행(Running)
  • 준비(Ready)
  • 대기(Waiting)
  • 종료(Terminated)
    Linux는 CPU를 여러 프로세스에 빠르게 분배하여 동시에 실행되는 것처럼 보이게 만든다.

포그라운드와 백그라운드

Linux에서는 프로세스를 포그라운드(Foreground) 와 백그라운드(Background) 로 실행할 수 있다.

  • 포그라운드: 터미널을 점유하며 실행
  • 백그라운드: 터미널과 독립적으로 실행

<예제 / 실습 코드>

현재 실행 중인 프로세스 확인

ps

전체 프로세스 확인

ps -ef

실행 중인 프로세스를 백그라운드로 실행

sleep 60 &

<헷갈렸던 점>

  • 프로그램과 프로세스를 같은 개념으로 생각했다.
  • 프로그램은 파일이고, 프로세스는 실행 중인 상태라는 점을 정리했다.
  • 여러 프로세스가 동시에 실행되는 구조가 처음에는 추상적으로 느껴졌다.

<오늘의 정리>

  • 프로세스는 실행 중인 프로그램이다.
  • Linux는 다중 작업 운영체제이다.
  • 각 프로세스는 고유한 PID를 가진다.
  • 포그라운드와 백그라운드 실행 방식이 있다.
profile
개발 공부를 하며 직접 부딪히고 공부한 것을 기록합니다.

0개의 댓글