2015/04/14

    [프로세스 관리] 2. 새로운 프로세스 실행

    [프로세스 관리] 2. 새로운 프로세스 실행

    앞에서 프로세스의 PID에 대해서 알아보았는데요, 굉장히 간단하게 getpid() 시스템 콜을 이용해서 자신의 프로세스 ID를 알 수 있었습니다. 이번에는 정말 새로운 프로세스를 생성하는 시스템 콜에 대해 알아보고, 각 차이점에 대해 알아봅시다. 리눅스에서 시스템 콜을 이용하여 프로세스를 실행하면 두가지 방식이 있습니다. 프로그램 바이너리를 메모리에 적재하고 프로세스의 주소공간에 있는 이전 내용을 대체하고 새로운 프로세스를 실행하거나, 부모 프로세스의 주소공간 등을 그대로 복사 한 후 새로운 프로세스를 실행하는 방식입니다. 총 3가지 시스템 콜에 대해서 알아볼텐데요, exec 계열의 시스템 콜, fork 그리고 vfork 까지 알아볼게요. 먼저, exec 시스템 콜에 대해 알아보겠습니다.exec 계열의 ..