fork(20) download
  1. #include <unistd.h>
  2. #include <sys/types.h>
  3. #include <stdio.h>
  4.  
  5. int main()
  6. {
  7. pid_t child_pid;
  8. int i, j, n;
  9. int sum;
  10.  
  11. //printf("Enter the last number of series : ");
  12. scanf("%d", &n);
  13. printf("pid = %d\n", getpid());
  14.  
  15. for(i = 0; i < 2; i++)
  16. {
  17. child_pid = fork();
  18. if (child_pid < 0)
  19. {
  20. printf("Failed to create child process . . .");
  21. return 1;
  22. }
  23. else if (child_pid == 0)
  24. {
  25. if (i == 0) //find the sum of odd series
  26. {
  27. sum = 0;
  28. for(j = 1; j <= n; j += 2)
  29. sum += j;
  30.  
  31. printf("Sum of Odd series : %d\n", sum);
  32. exit(0);
  33. }
  34. else if (i == 1) //find the sum of even series
  35. {
  36. sum = 0;
  37. for(j = 2; j <= n; j += 2)
  38. sum += j;
  39.  
  40. printf("Sum of Even series : %d\n", sum);
  41. exit(0);
  42. }
  43.  
  44. }
  45. else
  46. {
  47. wait(&child_pid);
  48. }
  49. }
  50. return 0;
  51. }
Success #stdin #stdout 0s 2296KB
stdin
12
stdout
pid = 6993
Sum of Odd series : 36
pid = 6993
Sum of Even series : 42
pid = 6993