운영체제

프로세스 생성과 종료

운영체제에서 새로운 프로세스는 어떻게 만들어질까요? 대부분의 OS에서 프로세스는 기존의 다른 프로세스가 생성합니다.

fork() — 프로세스 복제와 exec() — 프로그램 교체를 중심으로 프로세스 생성과 종료의 판단 흐름을 읽습니다.

핵심 흐름

1

fork()와 exec()

Unix/Linux에서 프로세스를 생성하는 핵심 시스템 콜은 fork()와 exec()입니다.

2

Python에서의 프로세스 생성

Python의 multiprocessing 모듈은 Unix에서는 내부적으로 fork()를, Windows에서는 spawn()을 기본 방식으로 사용합니다.

3

wait()와 종료 상태

부모 프로세스는 wait() 또는 waitpid() 시스템 콜로 자식의 종료를 기다리고, 종료 상태(Exit Status)를 수거합니다.

4

좀비 프로세스와 고아 프로세스

프로세스의 생명주기에서 두 가지 비정상적인 상태가 있습니다.