int i = 5

int id = 0

while(pid = fork()) {

if(--i == 0) break;

id++;

}


이런식으로 자식프로세스 5개 만든다고 치면요


fork() 아랫줄부터 자식프로세스가 부모랑 같은 작업 하잖아요(저 코드에선 while문 안쪽부터)


그럼 자식프로세스는 while 루프를 안돌게 되는게 맞나요? 결과는 부모1 + 자식5 되는게 맞는거 같은데요


자식프로세스마다 번호를 다르게 지정할려고 id변수를 자식마다 하나씩 증가시켜줬는데


결과값이 0 0 1 2 3 4 이렇게 나와야하는데


막상 실행시켜보면 0 1 2 3 4 4 이렇게 나오네요... 원인이 멀까요.. ㅠ