1
fork()와 exec()
Unix/Linux에서 프로세스를 생성하는 핵심 시스템 콜은 fork()와 exec()입니다.
운영체제에서 새로운 프로세스는 어떻게 만들어질까요? 대부분의 OS에서 프로세스는 기존의 다른 프로세스가 생성합니다.
fork() — 프로세스 복제와 exec() — 프로그램 교체를 중심으로 프로세스 생성과 종료의 판단 흐름을 읽습니다.
Unix/Linux에서 프로세스를 생성하는 핵심 시스템 콜은 fork()와 exec()입니다.
Python의 multiprocessing 모듈은 Unix에서는 내부적으로 fork()를, Windows에서는 spawn()을 기본 방식으로 사용합니다.
부모 프로세스는 wait() 또는 waitpid() 시스템 콜로 자식의 종료를 기다리고, 종료 상태(Exit Status)를 수거합니다.
프로세스의 생명주기에서 두 가지 비정상적인 상태가 있습니다.