title: Parent process waits for all child processes to finish before continuing
body: <p>I want my parent process waits for all child processes to finish before continuing, and I have one solution.</p>
  
  <pre><code>int status;
  
  pid_t pid = 0;
  
  int num = 0;
  
  
  for (int i = 0; i &lt; NUMBER_OF_PROCESSES; i++)
  {
      pid = fork();
  
      if (pid == 0)
      {
          //printf("Hello from Child\n");
          sleep(5 - i);
          printf("Hello from Child %d\n",i + 1);
          num++;
          return 0;
      }
      else if (pid)
      {
          waitpid(pid, &amp;status, 0);
          continue;
      }
      else
      {
          printf("Error\n");
          exit(1);
      }
  
  
  }
  
  printf("Hello from the process, currentPid : %d, pid : %d\n", getpid(), pid);
  
  return 0;
  </code></pre>
  
  <p>But it seems that I have to wait each child process before it finish, is there any way can make all child processes have to be able to run in parallel?</p>