2012. 7. 13. 16:09

리눅스에서 새로운 프로세스를 생성하는 유일한 방법은 이미 존재하는 프로세스가 fork() 함수를 호출하는 것

이다. fork()에 의해 생성된 자식 프로세스는 부모 프로세스와 똑같다.

이 두 프로세스를 구분하는 유일한 방법은 fork()에 의해 반환되는 값을 확인하는 것이다.

즉 부모 프로세스에게 반환되는 값은 자식 프로세스의 프로세스 ID가 되고 자식 프로세스에서는 0이 반환되므

로 구분할 수 있게 된다. 부모 프로세스가 가질 수 있는 자식 프로세스의 수에 제한이 있으므로 fork 호출에

실패할 수 있는데 이때는 -1 이 반환 된다.

Posted by 몰라욧