if((pid = fork()) < 0)//자식 프로세스 생성
printf("fork error 1\n");
printf("pid = %d\n",pid);//여러번 실행해도 항상 0으로 찍힘 구현상 자식 프로세스가 먼저 실행되는듯(우분투)
printf("my pid = %d\n",getpid());//여기 pid와
if(pid == 0)//근데 여기가 왜 실행이 안되죠??? 이해가 안되네요... 중간에 코드를 지 맘대로 건너 뛰어도 되나요???
{
printf("I use vfork\n");
pid4 = vfork();
}
printf("my pid = %d\n",getpid());//여기 pid가 같음 즉 자식 프로세스가 실행되서 여기까지는 최소한 실행됐다는 말인데...
같은 코드가 부모프로세스에서 돌고, 자식프로세스에서도 도는 거잖아. 실행이 안되는게 아니라, 자식프로세스의 경우 fork 반환값이 부모프로세스와 다르니 실행자체도 달라지는 거다.