이 섹션에서는 C에서 fork 시스템 호출이 무엇인지 볼 것입니다. 이 fork 시스템 호출은 새 프로세스를 만드는 데 사용됩니다. 이 새로 생성된 프로세스를 자식 프로세스라고 합니다. 다른 자식 프로세스를 만들고 있는 현재 프로세스를 부모 프로세스라고 합니다.
자식 프로세스는 부모 프로세스에서 사용하는 것과 동일한 프로그램 카운터, CPU 레지스터, 동일한 파일을 사용합니다.
fork()는 매개변수를 사용하지 않으며 정수 값을 반환합니다. 세 가지 유형의 정수 값을 반환할 수 있습니다.
-
음수 :자식 프로세스 생성 실패 시 음수 반환
-
제로 가치 :새로 생성된 자식 프로세스에 대해 Zero를 반환합니다.
-
긍정적인 가치 :부모 프로세스에 양수 값을 반환합니다.
예시 코드
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { fork(); //make a child process of same type printf("Fork testing code\n"); return 0; }
출력
soumyadeep@soumyadeep-VirtualBox:~$ ./a.out Fork testing code soumyadeep@soumyadeep-VirtualBox:~$ Fork testing code soumyadeep@soumyadeep-VirtualBox:~$