getpid() 함수를 한번 출력시켰는데, 결과가 2개나와요

익명 사용자의 이미지

#include
#include

void main() {
int nfork, ngetpid;

if( ( nfork = fork() ) == -1 ) {
printf( "can't assign child processor\n" );
exit(0);
}

printf( "GetPID %ld\n", getpid() );

}

이렇게 코딩하고 실행시켰는데

GetPID 21342
GetPID 34234

이렇게 값이 항상 2개씩 나와요.

출력은 하나만 하게 했는데 왜 2개가 나오죠?

혹시 child, parent process 값인가요?

익명 사용자의 이미지

익명 사용자의 이미지

당연히 2개 나오겠네요.
fork를 했으니 부모와 자식.