29     for(i=0; i<5;i++)
 30     {
 31         pid = fork();
 32
 33
 34
 35     if (pid == -1)
 36     {
 37         fprintf(stderr, "fork failed");
 38         return 1;
 39     }
 40     else if(pid==0)
 41     {
 42
 43         for(j=0;j<5;j++)
 44         {
 45             printf("[%dprocess] #%d\n",getpid(),j);
 46         }
 47         return 0;
 48     }
 49     else
 50     {
 51         while(waitpid(-1, &status, WNOHANG) > 0)
 52
 53         //while(wait(NULL)!=-1 )
 54         {
 55
 56             printf("%d [child] 종료. %d [부모]\n",wait(NULL),getpid());
 57         }
 58     }
 59     }
 60  return 0;
 61 }

음 왜그런지는 모르겟지만 암튼 일케 고치니

프로세스끼리 충돌해서 순서막섞이는게 보이고

모든 자식프로세스가 출력되는것도 보이는데

왜 while 구문은 작동안하는거임..

솔직히 waitpid 몰라서 wait(NULL)로 조건 걸고하면 또 병신같이 나옴..

while 구문만 좀돠줘...