본문 바로가기
배워보자!!/리눅스

[linux] 리눅스 fork() 함수

by norinda 2015. 5. 17.
728x90

fork() 함수

-fork 는 프로세스의 복사본을 만들 때 사용합니다.

fork 에 의해 생성된 자식 프로세스는 자기만의 PID를 가지며, PPID는 부모프로세스의 PID를 가지게 됩니다.

성공할 경우 부모에게 자식 프로세스 PID가 반환되며, 자식에게는 0이 반환됩니다. 실패할경우 -1이 반환됩니다.



#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/wait.h>

#include <stdlib.h>

int main(int argc , char **argv)

{


        int pid;

        pid = fork();

        if(pid>0)

        {

                printf("부모pid= %d부모에게 리턴된 자식pid = %d\n" , getpid() , pid);

                pause();

        }else if(pid==0)

        {

                printf("자식pid= %d 부모에 리턴된 자식pid= %d\n" , getpid() , pid);

                pause;

        }



        if(pid == -1)

        {

                perror("포크 에러");

                exit(0);

        }

        return 0;

}








반응형

댓글