fork() is used to create a child process...and you see this call appear in the child process as well.  I don't understand what it means when they say that 'calls to fork actually return twice'.  
And what does this mean...
if (fork() == 0)
/* the child process's thread executes here*/
else 
/*the parent process's thread executes here*/
Is the above code part of parent or child. Can you explain in plain English what's going on?
Also, why use a fork()?  It says all processes in unix run by this system call?  How do you fork() so other programs can run?  Do you specify the name of the program?
 
     
     
    