Unix - simple fork illustration

Script started on Wed Apr 30 12:08:13 1997
sh-2.00$ cat fork.c
/* fork.c - fork a child process */
#include <stdio.h>


void main()
{
   int fork_return;
   int count = 0;
   /* getpid() returns the process id of this process. */
   printf("Process %d about to fork a child.\n", getpid() );
   fork_return = fork();
   if( fork_return < 0)
   {
      printf("Unable to create child process, exiting.\n");
      exit(-1);
   }
   /* BOTH processes will do this! */
   system("ps");
   if( fork_return > 0)
   /* Then fork_return is the pid of the child process and I am
      the parent. Start printing a's. */
   {
      printf("Created child process %d.\n", fork_return);
      while( count++ < 800)
      {
    	   putchar('a');
	   if(count % 80 == 0){
		putchar('\n');
		sleep(2);
	   }
	}
   }
   else
   /* A 0 return tells me that I am the child. Print b's */ 
   {
      while(count++ < 800)
      {
         putchar('b');
	   if(count % 80 == 0){
		putchar('\n');
	        sleep(2);
	   }
	}
    }
}

sh-2.00$ fork
Process 19643 about to fork a child.
  PID TT  S           TIME COMMAND
19632 p1  S        0:00.36 -bash (bash)
19638 p1  S  +     0:00.07 script showem
19640 p1  S  +     0:00.03 script showem
19641 p2  S        0:00.15 sh -is
19643 p2  S  +     0:00.04 fork
19644 p2  S  +     0:00.01 fork
19645 p2  S  +     0:00.04 sh -c ps
19646 p2  R  +     0:00.04 sh -c ps
19648 p2  R  +     0:00.00 sh -c ps
  PID TT  S           TIME COMMAND
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
19632 p1  S        0:00.36 -bash (bash)
19638 p1  S  +     0:00.07 script showem
19640 p1  R  +     0:00.03 script showem
19641 p2  S        0:00.15 sh -is
19643 p2  S  +     0:00.04 fork
19644 p2  S  +     0:00.01 fork
19645 p2  R  +     0:00.04 sh -c ps
19646 p2  S  +     0:00.04 sh -c ps
Created child process 19644.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
sh-2.00$ exit
exit

script done on Wed Apr 30 12:08:47 1997